小编典典

用于HTML解析的Python正则表达式(BeautifulSoup)

python

我想获取HTML中隐藏的输入字段的值。

<input type="hidden" name="fooId" value="12-3456789-1111111111" />

我想用Python编写一个正则表达式,该表达式将返回的值fooId,因为我知道HTML中的行遵循以下格式

<input type="hidden" name="fooId" value="**[id is here]**" />

有人可以提供Python范例来解析HTML值吗?


阅读 276

收藏
2020-12-20

共1个答案

小编典典

对于这种特殊情况,BeautifulSoup比正则表达式更难编写,但是它更健壮…我只是为BeautifulSoup示例提供帮助,因为您已经知道要使用哪个正则表达式:-)

from BeautifulSoup import BeautifulSoup

#Or retrieve it from the web, etc. 
html_data = open('/yourwebsite/page.html','r').read()

#Create the soup object from the HTML data
soup = BeautifulSoup(html_data)
fooId = soup.find('input',name='fooId',type='hidden') #Find the proper tag
value = fooId.attrs[2][1] #The value of the third attribute of the desired tag 
                          #or index it directly via fooId['value']
2020-12-20