我是Python新手,我一直在尝试使用已用BeautifulSoup解析的正则表达式搜索html。我没有取得任何成功,我认为原因是我不完全理解如何正确设置正则表达式。我看过有关类似问题的旧问题,但我仍然没有弄清楚。如果有人可以提取“/torrent/32726/0/”和“Slackware Linux 13.0 [x86 DVD ISO]”以及正则表达式如何工作的详细表达式,那将非常有帮助。
<td class="name">
<a href="/torrent/32726/0/">
Slackware Linux 13.0 [x86 DVD ISO]
</a>
</td>
编辑:我的意思是,我试图使用 BeautifulSoups 函数来搜索解析树来提取“/torrent/32726/0/”和“Slackware Linux 13.0 [x86 DVD ISO]”。在搜索和阅读文档后,我一直在尝试各种方法,但我仍然不确定如何去做。
BeautifulSoup 还可以从 html 中提取节点值。
from BeautifulSoup import BeautifulSoup
html = ('<html><head><title>Page title</title></head>'
'<body>'
'<table><tr>'
'<td class="name"><a href="/torrent/32726/0/">Slackware Linux 13.0 [x86 DVD ISO]</a></td>'
'<td class="name"><a href="/torrent/32727/0/">Slackware Linux 14.0 [x86 DVD ISO]</a></td>'
'<td class="name"><a href="/torrent/32728/0/">Slackware Linux 15.0 [x86 DVD ISO]</a></td>'
'</tr></table>'
'body'
'</html>')
soup = BeautifulSoup(html)
links = [td.find('a') for td in soup.findAll('td', { "class" : "name" })]
for link in links:
print link.string
Output:
Slackware Linux 13.0 [x86 DVD ISO]
Slackware Linux 14.0 [x86 DVD ISO]
Slackware Linux 15.0 [x86 DVD ISO]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)