【发布时间】:2016-10-07 17:32:50
【问题描述】:
我正在使用 Beautiful Soup for Python 来解析网页,以便从某些文件下载数据并将它们聚合到一个文件中。我正在解析的网页包含大量不同的下载链接,我无法获取我想要的特定链接。
HTML 基本上是这样设置的:
<li> <b>data I dont care about: </b>
<a href ="/id#____dontcare2010">2010</a> <a href = "/id#____dontcare2011">2011</a> (and so on)
</li>
<li> <b>data I DO care about: </b>
< a href ="/id#___data2010">2010</a> <a href= "/id#____data2011">2011</a> ....
</li>
(id#____ 只是该网页包含信息的特定对象的 id 号,对于这个问题不太重要,但我想我会尽可能准确)
我想要让 BeautifulSoup 找到包含字符串“我关心的链接:”的列表(“<li>”标签),然后将该列表中的每个链接存储到 Python 列表中。我试过了,
soup.findAll('li', text = 'Links I DO care about: ")
但这似乎不起作用......
我想有一些方法可以用 Beautiful Soup 完成这些步骤:
1.找到我想要的特定列表
2. 在该列表中找到所有<a href="..."></a>tags
3. 将所有这些链接存储在 Python 列表中。
不过我似乎找不到办法。
有什么建议吗?
【问题讨论】:
-
您必须拥有某些您期望的特定链接。那么,为什么不使用正则表达式并过滤掉这些 url?
标签: python beautifulsoup