信息收集和爬虫

  • 数据搜集是对搜集者经验、毅力、知识全面的能力的考验。

数据收集方式

人工录入

数据通过人来产生。数据最开始的来源方式。

网络实时爬取数据

学会写爬虫,整个互联网就是你的数据库,爬虫可以自动化地,大批量地帮你将互联网上大量无规则数据爬取下来并归整。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将爬虫行为分为搜索引擎爬虫及扫描程序爬虫,可屏蔽特定的搜索引擎爬虫节省带宽和性能,也可屏蔽扫描程序爬虫,避免网站被恶意抓取页面。

blogroll

social