2024-05-23 13:51:09 发布
网友
嗨,我不知道如何找到链接开始与某些文字为我的生活。 芬德尔(a)工作得很好,但太过分了。我只想列出所有链接的列表 http://www.nhl.com/ice/boxscore.htm?id=
有人能帮我吗?
非常感谢
首先建立一个测试文档并用BeautifulSoup打开解析器:
>>> from BeautifulSoup import BeautifulSoup >>> doc = '<html><body><div><a href="something">yep</a></div><div><a href="http://www.nhl.com/ice/boxscore.htm?id=3">somelink</a></div><a href="http://www.nhl.com/ice/boxscore.htm?id=7">another</a></body></html>' >>> soup = BeautifulSoup(doc) >>> print soup.prettify() <html> <body> <div> <a href="something"> yep </a> </div> <div> <a href="http://www.nhl.com/ice/boxscore.htm?id=3"> somelink </a> </div> <a href="http://www.nhl.com/ice/boxscore.htm?id=7"> another </a> </body> </html>
接下来,我们可以搜索以http://www.nhl.com/ice/boxscore.htm?id=开头的href属性的所有<a>标记。可以对其使用正则表达式:
http://www.nhl.com/ice/boxscore.htm?id=
href
<a>
>>> import re >>> soup.findAll('a', href=re.compile('^http://www.nhl.com/ice/boxscore.htm\?id=')) [<a href="http://www.nhl.com/ice/boxscore.htm?id=3">somelink</a>, <a href="http://www.nhl.com/ice/boxscore.htm?id=7">another</a>]
你可能不需要美化组,因为你的搜索是特定的
>>> import re >>> links = re.findall("http:\/\/www\.nhl\.com\/ice\/boxscore\.htm\?id=.+", str(doc))
首先建立一个测试文档并用BeautifulSoup打开解析器:
接下来,我们可以搜索以
http://www.nhl.com/ice/boxscore.htm?id=
开头的href
属性的所有<a>
标记。可以对其使用正则表达式:你可能不需要美化组,因为你的搜索是特定的
相关问题 更多 >
编程相关推荐