《自己动手写网络爬虫》笔记4-带偏好的网络爬虫
有的时候提取URL的时候不一定按照队列“先进先出”的方式来进行遍历,而是将某些重要的URL先遍历,这种策略称为“页面选择”(Page Selection)。这种策略可以有效地照顾重要性高的网页。
1.网页重要性高的因素
链接的欢迎度:
主要由反向链接(backlinks,指向当前URL的链接)的数量和质量决定,我们定义为IB(P);
链接的重要度:
这是一个关于URL富川的函数,仅仅考察字符串本身,例如,我们认为“.com”和“home”的URL重要度比“.cc”和”map”高,我们定义为IL(P);
平均链接的深度:
跟读宽度优先的原则计算出全站的平均链接深度,然后认为距离种子站点越近的重要性越高。我们定义为ID(P);
如果我们定义一个网页的重要性为I(P),那么由下面的公式所决定:
I(P)=X*IB(P)+Y*IL(P)
其中X和Y两个参数用来调整IB(P)和IL(P)所占的比例的大小,ID(P)由宽度优先的遍历规则保证,因此不作为重要的指标函数。
例子
假设下图中节点的重要性排序为D>B>C>A>E>F>I>G>H。
TODO优先级队列 | Visited表 |
---|---|
A | 空 |
DBCEF | A |
BCEF | AD |
CEF | ADB |
EF | ABDC |
FH | ABDCE |
GH | ABDCEF |
H | ABDCEFG |
I | ABDCEFGH |
空 | ABDCEFGHI |
《自己动手写网络爬虫》笔记4-带偏好的网络爬虫相关推荐
- 自己动手写Docker学习笔记
零.前言 本文为<自己动手写 Docker>的学习,对于各位学习 docker 的同学非常友好,非常建议买一本来学习. 书中有摘录书中的一些知识点,不过限于篇幅,没有全部摘录 (主要也是懒 ...
- 自己动手写Docker系列 -- 6.3 手动配置容器网络(下)
简介 网络部分较为复杂,本篇先利用之前写好的基础容器和网桥部分,加上手工给容器配置网络,让其容器与外部网络部分功能正常,为后面程序编写打下基础 源码说明 同时放到了Gitee和Github上,都可进行 ...
- 【无标题】自己动手写Docker系列 -- 6.3 手动配置容器网络(上)
简介 网络部分较为复杂,本篇先利用之前写好的基础容器和网桥部分,加上手工给容器配置网络,让其容器与宿主机网络部分功能正常,为后面程序编写打下基础 源码说明 同时放到了Gitee和Github上,都可进 ...
- 李沐动手学深度学习笔记---含并行连结的网络 GoogLeNet / Inception V3
Inception块: Inception块由四条并行路径组成.前三条路径使用窗口大小为1 × 1.3 × 3和5 × 5的卷积层, 从不同空间大小中提取信息.中间的两条路径在输入上执行1 × 1卷 ...
- 爬虫笔记(一)——第一个爬虫
最近对爬虫比较感兴趣,就在csdn上的电子书里找了本爬虫书(Python网络爬虫从入门到实践 第2版)学学看,顺便做下笔记. 注意:我们不管是在学习爬虫或者以后使用爬虫,都要遵守爬虫协议,也就是Rob ...
- python爬虫动态加载页面_python3的爬虫笔记8——动态加载页面爬虫
其实大部分主流网站都不是静态的html,html和Javascript相结合已经是大势所趋. 本篇以花瓣网主页为例子. 花瓣网主页,右键查看网页源代码,获得的页面是这样的: 如果还是用之前静态页面的那 ...
- python3爬虫框架scrapy_带你深入浅出python爬虫框架scrapy(三)
接下来我们要讲解爬取一些较难的数据评论: 1. 在Item中定义自己要抓取的数据: movie_name就像是字典中的"键",爬到的数据就像似字典中的"值".在 ...
- 爬虫笔记8实例淘宝商品比价爬虫
这个也不错 import requests import re def getHTMLText(url):headers = {'cookie': 'miid=1296267545453648768; ...
- Python 网络爬虫笔记11 -- Scrapy 实战
Python 网络爬虫笔记11 – Scrapy 实战 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Py ...
- Python 网络爬虫笔记1 -- Requests库
Python 网络爬虫笔记1 – Requests库 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Pyt ...
最新文章
- 关于OpenGL环境配置问题(2015)
- python限制输入值范围_求python 中if 里如何设定一个值的范围
- python 9.13作业
- Google和IMAX放弃VR相机
- 【bzoj3160】万径人踪灭
- ServiceStack.Text反序列化lowercase_underscore_names格式的JSON
- CPU,MPU,MCU,SOC,SOPC联系与差别
- php怎么传json数据_php和js如何通过json互相传递数据相关问题探讨
- splitlines
- 年回报60%!孙正义如何经营“沉迷AI”的愿景基金?
- POJ-1328 Radar Installation 贪心
- C++ 进阶——object slicing 与虚函数与dynamic_cast
- 云痕大数据 家长登录_智学网家长学生查分入口:www.zhixue.com
- 从iRedMail 创建用户脚本学习PostgreSQL数据库
- qq说说时间轴php实现,QQ说说时间 qq说说时间轴
- table中tr:hover无效 td:hover有效
- 【Rust日报】2022-10-12 国内物联网芯片厂商发布世界上第一款 rust 芯片支持库
- 项目总是延期令人头疼?Tracup帮你做好项目进度管理
- Android之黄油刀(butterknife)
- Mac键盘和Windows键盘对应表