Python Beautiful-soup web scrapper可以解析整个Web内容

时间:2018-04-20 12:13:51

标签: python beautifulsoup

我想问一下,通过Beautiful SOUP解析器,只需提供url主页和自动解析的子链接,就可以一次性浏览所有网页。

1 个答案:

答案 0 :(得分:0)

不,这不会自动发生。

您可以使用find_all查找href,然后忽略转到外部网站的href。我没有测试过这个,但这是一般的想法:

from BeautifulSoup import BeautifulSoup
import requests

visited = set()
to_visit = set(['foo.com/'])

while to_visit:

    target = to_visit.pop()
    visited.insert(target)
    html = requests.get(target).text

    soup = BeautifulSoup(html)
    for a in soup.find_all('a', href=True):
        href = a['href']
        full_url = target + href
        if full_url not in visited and not href.starts_with('http'):
            to_visit.insert(full_url)