使用BeautifulSoup从html页面中提取链接

时间:2017-05-03 10:35:25

标签: python html beautifulsoup

我需要从Piography网站上提取一些文章。

所以从这个页面http://www.biography.com/people我需要所有的子链接。 例如:

 /people/ryan-seacrest-21095899
 /people/edgar-allan-poe-9443160

但我有两个问题:

1-当我试图找到所有< a>。我找不到我需要的href。

import urllib2
from BeautifulSoup import BeautifulSoup
url = "http://www.biography.com/people"
text = urllib2.urlopen(url).read()
soup = BeautifulSoup(text)
divs = soup.findAll('a')
for div in divs:
    print(div)

2-有一个“看到更多”按钮。所以我如何能够为网站上的所有人提供所有链接。不只是出现在第一页?

1 个答案:

答案 0 :(得分:2)

在网站上显示的内容,使用角度和部分内容生成JS。 BeautifulSoup不执行JS。您需要使用http://selenium-python.readthedocs.io/或其他类似工具。或者你可以撬开ajax需要你获取(或者可能是POST)方法,并通过他提供数据。