递归提取href链接

时间:2019-04-09 10:37:54

标签: python beautifulsoup

我已经提取了href链接。但是我想编写将链接转到内部链接或子链接的代码。 '''蟒蛇

 from urllib.request import urlopen
 from bs4 import BeautifulSoup
 url = 'https://www.3gpp.org/'
 url_open = urlopen(url)
 soup = BeautifulSoup(url_open,'lxml')
 anchor = soup.findAll('a')
 for link in anchor:
     a = (link.get('href'))
     print(a)

href链接应提取内部链接

1 个答案:

答案 0 :(得分:1)

您是说要递归到要链接的页面吗?

最简单的方法是在根目录中添加URL列表/队列,循环直到其为空(删除其中一个URL并获取页面),并且每次看到链接时将其添加到队列进行处理。

您可能希望将访问的URL存储到一个集合中(以避免一遍又一遍地访问同一页面),并将白名单/过滤域存储在一个列表中,以避免浏览整个Internet。如果您正在浏览的网站使用相对链接,则可能需要urllib.parse。

另一种更多样化的选择是使用scrapy(基本上是Web抓取框架)而不是自己滚动。