- 数据搜集是对搜集者经验、毅力、知识全面的能力的考验。
数据收集方式
人工录入
数据通过人来产生。数据最开始的来源方式。
网络实时爬取数据
学会写爬虫,整个互联网就是你的数据库,爬虫可以自动化地,大批量地帮你将互联网上大量无规则数据爬取下来并归整。Python爬虫,基本上可以做到所见即所得。
网络实时数据监控。
很多网站的数据是具有时效性的,比如某招聘网站招聘数据,某二手房交易出租网站数据,这些数据每过一段时间会失去时效性,因此必须让爬虫每隔一段时间,甚至实时去监控网站数据的改变,自己建立一套面板数据。
“特殊”漏洞渠道。
经常关注乌云,会对有关数据的漏洞敏感一些,这些数据往往牵扯到对数据来源正当性的质疑,因此不要将其用于学术研究和非法用途.
学术合作。
有时候数据是靠“换”来的,我有你要的数据,你有我要的数据,那大家互通有无,或许可以推进学术合作,做出对你我都有意义的研究。这应该也是目前学术界普遍流行的模式。
数据购买和数据交换。
目前还是处于混沌期
什么是爬虫?
爬虫,通俗的讲,也就是通过源码解析来获得想要的内容。
传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。
另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;
网络爬虫的基本工作流程如下:
1.首先选取一部分精心挑选的种子URL;
2.将这些URL放入待抓取URL队列;
3.从待抓取URL队列中取出待抓取在URL,解析DNS,并且得到主机的ip,并将URL对应的网页下载下来,存储进已下载网页库中此外,将这些URL放进已抓取URL队列。
4.分析已抓取URL队列中的URL,分析其中的其他URL,并且将URL放入待抓取URL队列,从而进入下一个循环。
爬虫构成
下载器
解析器
存储
调度
解析器
解决的问题:
抓取目标描述
对网站内容进行解析,内容来自哪呢?
1.静态网页内容,解析方式是通过特定的HTML标签
2.动态网页内容。JavaScript加载的内容,解析方式找到包含内容的js代码 Ajax异步请求
3.APP数据。对App的数据抓取:先抓包,查看抓包所得的API链接和请求情况,然后模拟请求A
抓取策略
在爬虫系统中,待抓取URL队列是很重要的一部分。待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题,
因为这涉及到先抓取那个页面,后抓取哪个页面。而决定这些URL排列顺序的方法,叫做抓取策略
其他问题
如何处理header以及cookie
如何填写表单以及密码
如何抓取动态页面的网站
如何对抗反爬虫
注释:关于防爬虫:KS-WAF将爬虫行为分为搜索引擎爬虫及扫描程序爬虫,可屏蔽特定的搜索引擎爬虫节省带宽和性能,也可屏蔽扫描程序爬虫,避免网站被恶意抓取页面。