如何在python中创建网站图?

时间:2012-05-23 03:56:18

标签: python graph python-2.7

我想创建一个python脚本,作为输入主URL,例如: https://stackoverflow.com/ 然后它在所有页面上进行递归,并制作网站及其子页面的所有页面(节点)的有向图,当且仅当节点a(页面a)到节点b中存在链接时才具有边缘(第b页)。我假设有类似的东西,但我没有在谷歌找到...如果有任何想法,可能使用wget我还想听别的东西。

1 个答案:

答案 0 :(得分:2)

我只会指出使用基本python构建这样一个工具所需的内容:

  • 首先,您需要urllib才能打开网址。
  • 然后,您可以使用regexpsBeautifulSoup查找网页中的链接。第一个是CPU较少,但不太精确,后者是一个模糊的HTML解析器(意味着它接受有缺陷的HTML)
  • 然后,您可以将您的网址存储在list网址中以进行抓取,并且对于您在网页中找到的每个链接,您需要检查是否已经抓取它(以避免无限循环),使用set
  • 要构建图表,对于您抓取的每个新页面,它都是一个新节点。您找到的每个链接都是新的优势。

或者,您可以使用scrapy,一个用于抓取的python库。