提取 HTML 表单的字段名称 - Python

2024-04-24

假设有一个链接“http://www.someHTMLPageWithTwoForms.com”,它基本上是一个具有两种表单(例如表单 1 和表单 2)的 HTML 页面。我有这样的代码...

import httplib2
from BeautifulSoup import BeautifulSoup, SoupStrainer
h = httplib2.Http('.cache')
response, content = h.request('http://www.someHTMLPageWithTwoForms.com')
for field in BeautifulSoup(content, parseOnlyThese=SoupStrainer('input')):
        if field.has_key('name'):
                print field['name']

这将返回属于 HTML 页面的 Form 1 和 Form 2 的所有字段名称。有什么方法可以只获取属于特定表单的字段名称(仅比方说表单 2)?


如果只有两种形式,您可以尝试以下一种:

from BeautifulSoup import BeautifulSoup

forms = BeautifulSoup(content).findAll('form')
for field in forms[1]:
    if field.has_key('name'):
            print field['name']

如果它不仅仅是关于第二种形式,你可以让它更具体(通过 id 或类属性

from BeautifulSoup import BeautifulSoup

forms = BeautifulSoup(content).findAll(attrs={'id' : 'yourFormId'})
for field in forms[0]:
    if field.has_key('name'):
            print field['name']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

提取 HTML 表单的字段名称 - Python 的相关文章

随机推荐

  • 当我尝试移动 Pygame 时,玩家回到初始位置

    当我移动玩家时 当我按住右箭头时 他会移动 10 个像素 当我释放按键时 他会返回到初始位置 顺便说一句 你不需要告诉我当我按右时他会向左移动 我知道 这是代码 import pygame pygame init WIDTH 1000 HE
  • 为什么 Java 中不能抛出和捕获对象? [复制]

    这个问题在这里已经有答案了 可能的重复 你可以在 Java 中添加什么 https stackoverflow com questions 5749898 what can you throw in java 为什么我不能在 Object
  • 如何将音频从浏览器流式传输到 WebRTC 本机 C++ 应用程序

    到目前为止 我已成功运行以下示例 WebRTC 原生 C 到浏览器视频流示例 http sourcey com webrtc native to browser video streaming example 该示例展示了如何将视频从本机
  • React Native - 如何查看 AsyncStorage 中存储的内容?

    我将一些项目保存到AsyncStorage在 React Native 中 我使用 chrome 调试器和 iOS 模拟器 不使用 React Native 使用常规 Web 开发localStorage 我能够看到存储的localStor
  • 您能解释一下流的概念吗?

    我知道流是字节序列的表示 每个流都提供了向其给定的后备存储读取和写入字节的方法 但流的意义何在 为什么我们与之交互的不是后备存储本身 不管出于什么原因 这个概念并不适合我 我读过很多文章 但我想我需要一个类比或其他东西 选择 流 这个词是因
  • Xcode 附加到进程不显示 NSLog

    我刚刚开始使用 Apple Watch 我找到了来自 五分钟观察套件 http www fiveminutewatchkit com blog category Xcode 让 iOS 应用程序和手表套件应用程序都在模拟器中运行 并且两个进
  • mongod,mac os x - rlimits警告[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我一直在我的 mac os x 10 8 上使用 mongo 昨天突然在我的日志中出现了这个警告 当启动 shell 时它也出现了 警告 软限制太低
  • 在模拟的 HttpContextBase 上设置属性

    我正在开发一个 ASP NET MVC 应用程序 并尝试针对控制器操作编写一些单元测试 其中一些操作 HttpContext 上的属性 例如 Session Request Cookies Response Cookies 等 在弄清楚如何
  • OpenTok - 如何手动发布/取消发布?

    我查看了这些链接 http www tokbox com opentok api tools js documentation overview publish html http www tokbox com opentok api to
  • 无法获取未知属性“组装”

    所以 昨天一切都很好 但现在 Android Studio 和我的项目抛出了这个错误 ERROR Could not get unknown property assemble for task patternjkh assembleDeb
  • android AlertDialog 具有透明背景

    我有一个自定义的 AlertDialog 我想使其背景完全透明 通常为了使活动完全透明 我会执行以下操作 将背景设置为 00000000在 xml 布局中 在清单集中android theme android style Theme Hol
  • 如何避免在php中刷新时重新发送数据

    我有一个页面 index php 其中有一个名为 add users php 的链接 在 add users php 中 我接受用户信息并返回到同一页面 index php 其中信息通过后操作传入并插入到数据库中 当我刷新页面或点击后退按钮
  • 如何在 Swift 中打开 URL?

    openURL已在 Swift 3 中弃用 任何人都可以提供一些如何替换的示例openURL options completionHandler 尝试打开网址时有效吗 所有你需要的是 guard let url URL string htt
  • C++ 中有标准的日期/时间类吗?

    C stl 有标准时间类吗 或者我是否必须在写入流之前转换为 c 字符串 例如 我想将当前日期 时间输出到字符串流 time t tm ostringstream sout sout lt lt tm lt lt ends 在本例中 我将当
  • 有没有好的方法来检查 Datastax Session.executeAsync() 是否引发异常?

    我试图通过调用来加速我们的代码session executeAsync 代替session execute 用于数据库写入 我们有数据库连接可能会关闭的用例 目前是之前的execute 当连接丢失 集群中没有可访问的主机 时抛出异常 我们可
  • 如何检查字符串是否是数字? [复制]

    这个问题在这里已经有答案了 我有一个 GPA 计划 它适用于equalsIgnoreCase 方法比较两个字符串 即字母 a 与用户输入 检查他们是否输入 a 但现在我想添加一个异常 其中包含当输入数字时执行的错误消息 我希望程序意识到整数
  • 与 C++ 中的对象数组混淆

    所以我首先学习了Java 现在我正在尝试转向C 我在让数组正常工作方面遇到了一些困难 现在我只是想创建一个对象 Player 的数组并用一个对象填充它 但我收到错误 Player players new Player 1 players 0
  • Pydub 按样本切片音频片段

    假设我有两个采样率相同的音频片段 它们是从 Pydub 中的 wav 文件导入的 并且假设我知道哪个更短 现在假设我想将较长的音频文件分成两个片段 以便第一个片段与较短的音频文件具有完全相同的长度 精确到相同的样本数量 并将这两个片段中的每
  • 在离散 ggplot x 轴两侧添加不同数量的额外空间

    我有一个带有离散 x 轴的图 我想调整刻度两侧的额外空间 使其左侧较小 右侧较大 以便长标签适合 scale x discrete expand c 0 1 不是我的朋友 因为它总是同时在双方工作 这个问题 https stackoverf
  • 提取 HTML 表单的字段名称 - Python

    假设有一个链接 http www someHTMLPageWithTwoForms com 它基本上是一个具有两种表单 例如表单 1 和表单 2 的 HTML 页面 我有这样的代码 import httplib2 from Beautifu