找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 219|回复: 0

自己动手写网络爬虫(修订版) pdf完整免费版

[复制链接]

543

主题

12

回帖

4205

积分

管理员

积分
4205
发表于 2021-8-23 19:52:40 | 显示全部楼层 |阅读模式 IP:山东省 移动/数据上网公共出口

登录后更精彩...O(∩_∩)O...

您需要 登录 才可以下载或查看,没有账号?立即注册

×
自己动手写网络爬虫(修订版) pdf完整免费版http://jxz1.j9p.com/pc/zjdsxwlpcpdf.zip

网络爬虫编写教材

《自己动手写网络爬虫》是2010年10月由清华大学出版社出版的图书,主要包括从互联网获取信息与提取信息和对Web信息挖掘等内容,本书适用于有Java程序设计基础的开发人员。同时也可以作为计算机相关专业本科生或研究生的参考教材

课程重点

爬虫所需的计算机网络/前端/正则//xpath/CSS选择器等基础知识一网打尽
2.实现静态网页,动态网页两大主流网页类型数据抓取
3.模拟登陆、应对反爬、识别验证码等难点详细讲解
4.多线程,多进程等工作常见应用场景难题讲解

书籍内容图片预览

作品目录介绍

第1章 全面剖析网络爬虫 3


1.1 抓取网页



1.3.3 使用berkeley db构建爬虫队列示例



1.1.1 深入理解url



1.3.4 使用布隆过滤器构建visited表



1.1.2 通过指定的url抓取网页内容



1.3.5 详解heritrix爬虫队列



1.1.3 java网页抓取示例



1.4 设计爬虫架构 .



1.1.4 处理http状态码



1.4.1 爬虫架构



1.2 宽度优先爬虫和带偏好的爬虫



1.4.2 设计并行爬虫架构



1.2.1 图的宽度优先遍历



1.4.3 详解heritrix爬虫架构



1.2.2 宽度优先遍历互联网



1.5 使用多线程技术提升爬虫性能



1.2.3 java宽度优先爬虫示例



1.5.1 详解java多线程



1.2.4 带偏好的爬虫



1.5.2 爬虫中的多线程



1.2.5 java带偏好的爬虫示例



1.5.3 一个简单的多线程爬虫实现



1.3 设计爬虫队列



1.5.4 详解heritrix多线程结构



1.3.1 爬虫队列



1.6 本章小结



1.3.2 使用berkeley db构建爬虫队列








第2章 分布式爬虫 69


2.1 设计分布式爬虫



2.4.2 开源bigtable——hbase



2.1.1 分布式与云计算



2.5 google的成功之道——mapreduce算法



2.1.2 分布式与云计算技术在爬虫中的应用——浅析google的云计算架构



2.5.1 详解mapreduce算法



2.2 分布式存储



2.5.2 mapreduce容错处理



2.2.1 从ralation_db到key/value存储



2.5.3 mapreduce实现架构



2.2.2 consistent hash算法



2.5.4 hadoop中的mapreduce简介



2.2.3 consistent hash代码实现



2.5.5 wordcount例子的实现



2.3 google的成功之道——gfs



2.6 nutch中的分布式



2.3.1 gfs详解



2.6.1 nutch爬虫详解



2.3.2 开源gfs——hdfs



2.6.2 nutch中的分布式



2.4 google网页存储秘诀——bigtable



2.7 本章小结



2.4.1 详解bigtable








第3章 爬虫的“方方面面”121


3.1 爬虫中的“黑洞”



3.2.3 理解限定爬虫



3.2 限定爬虫和主题爬虫



3.2.4 java限定爬虫示例



3.2.1 理解主题爬虫



3.3 有“道德”的爬虫



3.2.2 java主题爬虫



3.4 本章小结





第4章 “处理”html页面 159


4.1 征服正则表达式



4.3 抽取正文



4.1.1 学习正则表达式



4.4 从javascript中抽取信息



4.1.2 java正则表达式



4.4.1 javascript抽取方法



4.2 抽取html正文



4.4.2 javascript抽取示例



4.2.1 了解htmlparser



4.5本章小结



4.2.2 使用正则表达式抽取示例








第5章 非html正文抽取 201


5.1 抽取pdf文件



5.2.2 使用poi抽取word示例



5.1.1 学习pdfbox



5.2.3 使用poi抽取ppt示例



5.1.2 使用pdfbox抽取示例



5.2.4 使用poi抽取excel示例



5.1.3 提取pdf文件标题



5.3 抽取rtf 5.3.1 开源rtf文件解析器



5.1.4 处理pdf格式的公文



5.3.2 实现一个rtf文件解析器



5.2 抽取office文档



5.3.3 解析rtf示例



5.2.1 学习poi



5.4 本章小结





第6章 多媒体抽取 231


6.1 抽取视频



6.2 音频抽取



6.1.1 抽取视频关键帧



6.2.1 抽取音频



6.1.2 java视频处理框架



6.2.2 学习java音频抽取技术



6.1.3 java视频抽取示例



6.3 本章小结



第7章去掉网页中的“噪声” 257


7.1 “噪声”对网页的影响



7.3 利用“视觉”消除“噪声”



7.2 利用“统计学”消除“噪声”



7.3.1 “视觉”与“噪声”



7.2.1 网站风格树



7.3.2 “视觉去噪”java实现



7.2.2“统计学去噪”java实现



7.4 本章小结



第8章 分析web图 283


8.1 存储web“图”



8.4 pagerank的兄弟hits



8.2 利用web“图”分析链接



8.4.1 深入理解hits算法



8.3 google的秘密——pagerank



8.4.2 hits算法的java实现



8.3.1 深入理解pagerank算法



8.4.3 应用hits进行链接分析



8.3.2 pagerank算法的java实现



8.5 pagerank与hits的比较



8.3.3 应用pagerank进行链接分析



8.6 本章小结



第9章 去掉重复的“文档” 317


9.1 何为“重复”的文档



9.4 simhash排重



9.2 去除“重复”文档——排重



9.4.1 理解simhash



9.3 利用“语义指纹”排重



9.4.2 simhash排重的java实现



9.3.1 理解“语义指纹”



9.5 分布式文档排重



9.3.2 “语义指纹”排重的java实现



9.6 本章小结



第10章 分类与聚类的应用 333


10.1 网页分类 10.1.1 收集语料库



10.2 网页聚类



10.1.2 选取网页的“特征”



10.2.1 深入理解dbscan算法



10.1.3 使用支持向量机进行网页分类



10.2.2 使用dbscan算法聚类实例



10.1.4 利用url地址进行网页分类



10.3 本章小结



10.1.5 使用adaboost进行网页分类








网络爬虫到底是什么

简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。就像一只虫子在一幢楼里不知疲倦地爬来爬去。

你可以简单地想象:每个爬虫都是你的「分身」。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样。

你每天使用的百度,其实就是利用了这种爬虫技术:每天放出无数爬虫到各个网站,把他们的信息抓回来,然后化好淡妆排着小队等你来检索。
抢票软件,就相当于撒出去无数个分身,每一个分身都帮助你不断刷新 12306 网站的火车余票。一旦发现有票,就马上拍下来,然后对你喊:土豪快来付款。

那么,像这样的爬虫技术一旦被用来作恶有多可怕呢?

正好在上周末,一位黑客盆友御风神秘兮兮地给我发来一份《中国爬虫图鉴》,这哥们在腾讯云鼎实验室主要负责加班,顺便和同事们开发了很多黑科技。比如他们搞了一个威胁情报系统,号称能探测到全世界的「爬虫」都在做什么。

我吹着口哨打开《图鉴》,但一分钟以后,我整个人都不好了。

我看到了另一个「平行世界」:

就在我们身边的网络上,已经密密麻麻爬满了各种网络爬虫,它们善恶不同,各怀心思。而越是每个人切身利益所在的地方,就越是爬满了爬虫。

看到最后,我发现这哪里是《中国爬虫图鉴》,这分明是一份《中国焦虑图鉴》。

我们今天要说的,就和这些 App 有关。

一、爬虫的「骚操作」

爬虫也分善恶。

像谷歌这样的搜索引擎爬虫,每隔几天对全网的网页扫一遍,供大家查阅,各个被扫的网站大都很开心。这种就被定义为「善意爬虫」。

但是,像抢票软件这样的爬虫,对着 12306 每秒钟恨不得撸几万次。铁总并不觉得很开心。这种就被定义为「恶意爬虫」。(注意,抢票的你觉得开心没用,被扫描的网站觉得不开心,它就是恶意的。)

给你看一张图:

这张图里显示的,就是各行各业被爬「叨扰」的比例。(注意,这张图显示是全世界,不是全中国。)而每一个色块背后,都是一条真实而强大的利益链条。

接下来,中哥就给你科普一下里面的骚操作。

1、排名第一的是出行

出行行业中爬虫的占比最高(20.87%)。在出行的爬虫中,有 89.02% 的流量都是冲着 12306 去的。这不意外,全中国卖火车票的独此一家别无分号。

你还记得当年 12306 上线王珞丹和白百何的「史上最坑图片验证码」么?

这些东西不是为了故意难为老老实实卖票的人的,而恰恰是为了阻止爬虫(也就是抢票软件)的点击。刚才说了,爬虫只会简单地机械点击,它不认识白百何,所以很大一部分爬虫就被挡在了门外。

你可能会说,不对啊,我现在还可以用抢票软件抢到票啊。

没错。抢票软件也不是吃素的。它们在和铁总搞「对抗」。

有一种东西叫作「打码平台」,你可以了解一下。

打码平台雇用了很多叔叔阿姨,他们在电脑屏幕前不做别的事情,专门帮人识别验证码。那边抢票软件遇到了验证码,系统就会自动把这些验证码传到叔叔阿姨面前,他们手工选好哪个是白百何哪个是王珞丹,然后再把结果传回去。总共的过程用不了几秒时间。

当然,这样的打码平台还有记忆功能。如果叔叔阿姨已经标记了这张图是「锅铲」,那么下次这张图片再出现的时候,系统就直接判断它是「锅铲」。时间一长,12306 系统里的图片就被标记完了,机器自己都能认识,叔叔阿姨都可以坐在一边斗地主了。

你可能会问:为什么 12306 这么抠呢?它大方地让爬虫随意爬会死吗?
答:会死。

你知道每年过年之前,12306 被点成什么样了吗?公开数据是这么说的:「最高峰时 1 天内页面浏览量达 813.4 亿次,1 小时最高点击量 59.3 亿次,平均每秒 164.8 万次。」这还是加上验证码防护之后的数据。可想而知被拦截在外面的爬虫还有多少。

况且这里还没有讨论,被抢票软件把票抢走,对我们父母那样的不会抢票的人来说,是不是公平呢?

铁路被爬虫「点击」成这样已经够惨了,但它还有个难兄难弟,就是航空。

而航空里,被搞得最惨的不是国航,不是海航,也不是东航。而是亚航。

航空类爬虫的分布比例。

很多人可能都没坐过亚洲航空。这是一家马来西亚的廉价航空公司,航线基本都是从中国各地飞往东南亚的旅游胜地,飞机上连矿泉水都得自费买,是屌丝穷 X 度假之首选。

为什么爬虫这么青睐亚航呢?因为它便宜。确切地说,因为它经常放出便宜的票。

本来,亚航的初衷只是随机放出一些便宜的票来吸引游客,但这里面黄牛党是有利可图的。

据我所知,他们是这样玩的:

技术宅黄牛党们利用爬虫,不断刷新亚航的票务接口,一旦出现便宜的票,不管三七二十一先拍下来再说。

亚航有规定,你拍下来半小时(具体时间记不清了)不付款票就自动回到票池,继续卖。但是黄牛党们在爬虫脚本里写好了精确的时间,到了半小时,一毫秒都不多,他又把票拍下来,如此循环。直到有人从黄牛党这里定了这个票,黄牛党就接着利用程序,在亚航系统里放弃这张票,然后 0.00001 秒之后,就帮你用你的名字预定了这张票。

「我是中间商,我就要赚差价!」这波骚操作,堪称完美。

2、排名第二的是社交

社交的爬虫重灾区,就是你们喜闻乐见的微博。

给你看张图:

这是爬虫经常光顾的微博地址。

这里的代码其实指向了微博的一个接口。它可以用来获取某个人的微博列表、微博的状态、索引等等等等。

获得这些,能搞出什么骚操作呢?

你想想看,如果我能随心所欲地指挥一帮机器人,打开某人的微博,然后刷到某一条,然后疯狂关注、点赞或者留言,这不就是标准的僵尸粉上班儿的流程么。。。

其实,僵尸粉都只是爬虫的常规操作,更骚的来了,你都想不到还能这么操作,而且分分钟躺着赚钱:


自己动手写网络爬虫(修订版) pdf截图
[url=][/url]

[url=][/url]

[url=][/url]

[url=][/url]

[url=][/url]

[url=][/url]

[url=][/url]

[url=][/url]

[url=][/url]

[url=][/url]

[url=][/url]

[url=][/url]










回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|哩布大模型|Civitai大模型|IP定位|图反推|站长素材|deepseek|即梦视频|阿狗工具|花瓣网|pinterest|php手册|宝塔文档|CyberChef|猫捉鱼铃|手机版|小黑屋|下载狗|IPS|在线工具|分享屋 ( 鲁ICP备2021028754号 )

GMT+8, 2025-5-10 17:11

Powered by 分享屋 X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表