假设有一个链接“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(使用前将#替换为@)