《自己动手写网络爬虫》第一篇笔记

第一篇:自己动手抓数据
读一遍书,单纯抄一点点内容作记录。

  1. URL 略
  2. HTTP状态码处理:
代码 描述 处理
200 成功 处理
202 处理未完成 等待
204 没返回信息 丢弃
300 有多个可用的被请求资源 能处理就处理
301、302 重定向 重定向
304 请求资源未更新 丢弃
400 非法请求 丢弃
401 未授权 丢弃
403 禁止 丢弃
404 没有找到 丢弃
5xx 服务器错误 丢弃
  1. 宽度优先爬虫
#用typora写好贴上来的,才发现不支持流程图
   op0=>operation: 初始化URL入队列
   cond=>condition: URL队列未空或未达到指定数量
   op1=>operation: 退出程序
   op2=>operation: 队头URL出队列
   op3=>operation: 下载页面
   op4=>operation: 输出网页中URL
   op5=>operation: 新URL入队列
   op0->cond
   cond(no)->op1
   cond(yes)->op2->op3->op4->op5

需要一个URL队列,一个HashSet来记录访问过的URL

  1. 带偏好的爬虫
    链接受欢迎度由指向当前URL的链接数量和质量决定。重要度可以认为‘.com’比'home'比'.cc'、‘map’重要等。平均链接深度,如认为离种子越近越重要。可以使用优先级队列实现TODO列表。
  2. 有大量URL时,最适合使用内存数据库,或者直接使用数据库来存储这些URL。为了速度,Hash存储较好。一般Key值选取URL,但为了省空间,对URL进行MD5压缩。Value值通常对URL和相关信息进行封装成对象进行存储。【Berkeley DB 数据库】
  3. 原始URL(主机部分是IP),URL的值,URL_NUM,状态码,此URL被其他URL引用次数,URL对应文章汉字编码,文章摘要,作者,文章权重,文章描述,文章大小,最后修改时间,过期时间,文章名称,文章类型,引用的链接。爬取层次。
  4. 企业及搜索常用布隆过滤器创建Visited表。误判率表:
items:bits 误判率
1:1 0.63212055882856
1:2 0.39957640089373
1:4 0.14689159766038
1:8 0.02157714146322
1:16 0.00046557303372
1:32 0.00000021167340
1:64 0.00000000000004

每个URL分配两个字节能达到千分之几的冲突,比较保守的是每个URL分配四个字节。对于5000万URL量级过滤器只占200MB空间,且排重超快。

  1. 【TODO:爬虫架构】
  2. 分布式存储,负载均衡。云计算存储模型HBase,开源搜索引擎Nutch【分布式这一块没看懂】
  3. 避免‘黑洞’
    避免动态网页【即URL含问号的网页】,现在几乎网站都在做SEO优化,黑洞已经不那么重要了。
  4. 主题爬虫
    a> 行业搜索,就找固定的几家公司。b> 根据网页内容判断是否与主题相关 ,标题正文超链接中关键词是否有导向词,导向词可以手动设置并给分也可以给一组主题相关网页由程序自动判断共同特征。c> 对网页链接评分。d> 链接描述文本分析
  5. 限定爬虫
    限定域名‘edu.cn’,限定爬取层数,限定中国范围内IP,限定中文页面,等等。纯真IP数据库QQWry.dat,文件结构包括文件头,记录区,索引区,一般用二分法在索引区查到偏移量再去记录区读取。
  6. 有道德的爬虫
    网站根目录下的robots.txt文件,RobottsMeta标签。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345

推荐阅读更多精彩内容