《数学之美》笔记 图论与网络爬虫

离散数学包括数理逻辑,集合论,图论,近世代数。

图论

哥尼斯堡七桥问题(图论的起源):只有每个点的度都是偶数的情况才能不重复地遍历每个顶点。

爬虫

下载互联网上的所有网页(网页当做节点,超链接作为边)需要用到图论的遍历算法。完成这个功能的程序叫做网络爬虫。

“如何构建一个网络爬虫”是一个很好的面试问题,考察计算机科学理论基础,算法能力和工程素养。

策略

现实中的网络爬虫的任务应该定义成“如何在有限时间内爬下最重要的网页”,这种情况下BFS遍历明显优于DFS。但是考虑到下载服务器和网页服务器的连接具有握手成本,(网络爬虫是有上千台服务器组成的分布式系统)那么就由一个或几个服务器专门下载一个网页,下载完一个网站再进入下一个。这又是DFS的概念。所以这个优先级队列的调度系统是DFS和BFS的优化
一些网页是由js写的,需要运行才能得到URL,有些脚本写的不规范,以至于难以解析,因此需要浏览器内核工程师来写网络爬虫的解析程序。所以会有爬虫爬不到的网页。
为了记录一些网页是否已经被下载过,需要用一个哈希表进行记录。那么需要维护一个庞大的哈希表,解决方法是明确每个下载服务器的分工,然后批处理询问(每次更新一大批哈希表内容)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 摘要: [图论] [网络爬虫] [图的遍历] 图论 说到图论,必须要提的就是KonigsBerg七桥问题,简单说就...
    NemoHo阅读 4,498评论 2 7
  • 很早之前看了几篇博文,只留下模糊印象 。这次是在学习人工智能的基础知识后再看,其中研究自然语言的方法从基于规则转变...
    轻舟阅读 11,212评论 0 9
  • 第一章、 文字和语言vs数字和信息 简要介绍了语言和文字的发展过程 第二章、 自然语言处理 在上世纪50年代到...
    hyhchaos阅读 3,218评论 0 0
  • chapter 3 汉语的词汇量大致在200k最有,训练一个三元模型就有200K^3 的参数,即使将整个互联网的全...
    栽生物坑里的信息汪阅读 5,262评论 0 1
  • 谷歌浏览器能发布不能粘帖,qq浏览器能粘帖不能发布,晕…… 百度和猎豹压根就点不中菜单栏头像下拉菜单选项,只能点中...
    杨铁心阅读 3,332评论 0 1