我想问一下,通过Beautiful SOUP解析器,只需提供url主页和自动解析的子链接,就可以一次性浏览所有网页。
答案 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)