1

我想制作一个 python 脚本,将其作为输入的主 url,例如: https ://stackoverflow.com/ 然后它遍历所有页面并制作网站所有页面(节点)的有向图及其子页面,当且仅当节点a(页面a)到节点b(页面b)存在链接时,它才具有边缘。我认为有类似的东西,但我没有在谷歌中找到......如果有任何想法,也许使用wget我想听的其他东西。

4

1 回答 1

2

我只会为您提供使用基本 python 构建此类工具所需的指示:

  • 首先你需要urllib来打开 urls 。
  • 然后,您可以使用正则表达式BeautifulSoup在您的页面中查找链接。第一个 CPU 开销较小,但精度较低,后者是一个模糊的 HTML 解析器(意味着它接受有缺陷的 HTML)
  • 然后,您可以将您的网址存储在list要抓取的网址中,对于您在页面中找到的每个链接,您需要检查您是否已经抓取过它(以避免无限循环),使用set
  • 为了构建您的图表,对于您抓取的每个新页面,它都是一个新节点。您找到的每个链接都是一个新的优势。

或者,您可以使用scrapy,这是一个用于爬行的 Python 库。

于 2012-05-23T13:51:19.637 回答