我想制作一个 python 脚本,将其作为输入的主 url,例如:
https ://stackoverflow.com/
然后它遍历所有页面并制作网站所有页面(节点)的有向图及其子页面,当且仅当节点a(页面a)到节点b(页面b)存在链接时,它才具有边缘。我认为有类似的东西,但我没有在谷歌中找到......如果有任何想法,也许使用wget
我想听的其他东西。
问问题
1314 次
1 回答
2
我只会为您提供使用基本 python 构建此类工具所需的指示:
- 首先你需要urllib来打开 urls 。
- 然后,您可以使用正则表达式或BeautifulSoup在您的页面中查找链接。第一个 CPU 开销较小,但精度较低,后者是一个模糊的 HTML 解析器(意味着它接受有缺陷的 HTML)
- 然后,您可以将您的网址存储在
list
要抓取的网址中,对于您在页面中找到的每个链接,您需要检查您是否已经抓取过它(以避免无限循环),使用set
- 为了构建您的图表,对于您抓取的每个新页面,它都是一个新节点。您找到的每个链接都是一个新的优势。
或者,您可以使用scrapy,这是一个用于爬行的 Python 库。
于 2012-05-23T13:51:19.637 回答