我想在HTML中获取隐藏输入字段的值.
我想在Python中编写一个正则表达式,它将返回值fooId
,因为我知道HTML中的行遵循格式
有人可以在Python中提供一个示例来解析HTML的值吗?
对于这个特殊情况,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']
我同意Vinko BeautifulSoup是要走的路.不过我建议使用fooId['value']
来获取属性,而不是依靠值是第三属性.
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['value'] #The value attribute
import re reg = re.compile('') value = reg.search(inputHTML).group(1) print 'Value is', value
解析是你真的不想自己动手的地方之一,如果你可以避免它,因为你将追逐边缘案例和bug多年来会来
我建议使用BeautifulSoup.它具有非常好的声誉,从文档中看起来很容易使用.