我在Python中为维基百科页面构建了一个解析器,如下所示:
...
data = soup.findAll('div', attrs={'class':'mw-content-ltr'});
for div in data:
links = div.findAll('a', href=True, title=True)
for l in links:
print l
找到给定div区域内的所有链接;制备:
...
<a href="/wiki/Lumber" title="Lumber">lumber</a>
<a href="/wiki/Arecaceae" title="Arecaceae">palms</a>
<a href="/wiki/Cyatheales" title="Cyatheales">tree ferns</a>
<a href="/wiki/Banana" title="Banana">bananas</a>
<a href="/wiki/Bamboo" title="Bamboo">bamboo</a>
但是我如何获得提供链接的词,所以“香蕉”或“竹子”?我会得到标题,但我需要知道哪些单词是链接的,而不是它们链接到的位置。 我已经看到一个允许我得到下一个兄弟的问题,但那是链接后面的文字,这不是我想要的。
答案 0 :(得分:1)
检查.contents参数,我想这就是你想要的。 http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html#contents