关键词:爬虫
这一节,我们讨论一下爬虫
本节课程的内容是介绍什么是爬虫?爬虫有什么用?以及爬虫是如何实现的?从这三点来全面剖析爬虫这一工具。
爬虫的定义:
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
爬虫有什么用:
市场分析:电商分析、商圈分析、一二级市场分析等
市场监控:电商、新闻、房源监控等
商机发现:招投标情报发现、客户资料发掘、企业客户发现等
认识网址的构成
一个网站的网址一般由域名+自己编写的页面所构成。我们在访问同一网站的网页时,域名一般是不会改变的,因此我们爬虫所需要解析的就是网站自己所编写的不同页面的入口url,只有解析出来各个页面的入口,我们才能开始我们的爬虫。
了解网页的两种加载方法
- 同步加载:改变网址上的某些参数会导致网页发生改变,例如:www.itjuzi.com/company?page=1(改变page=后面的数字,网页会发生改变)
- 异步加载:改变网址上的参数不会使网页发生改变,例如:www.lagou.com/gongsi/(翻页后网址不会发生变化)
认识网页源码的构成
在网页中右键点击查看网页源码,可以查看到网页的源代码信息。
源代码一般由三个部分组成,分别是:
- html:描述网页的内容结构
- css:描述网页的排版布局
- JavaScript:描述网页的事件处理,即鼠标或键盘在网页元素上的动作后的程序
这里给出了三者的扩展知识的链接,需要大家重点关注html的构成,然后稍微了解下css和JavaScript在网页构成中的作用即可。
查看网页请求
以chrome浏览器为例,在网页上点击鼠标右键,检查(或者直接F12),选择network,刷新页面,选择ALL下面的第一个链接,这样就可以看到网页的各种请求信息。
请求头(Request Headers)信息详解:
|
|
响应头(Response Headers)信息详解:
|
|
理解网页请求过程
从浏览器输入网址、回车后,到用户看到网页内容,经过的步骤如下:
(1)dns解析,获取ip地址;
(2)建立TCP连接,3次握手;
(3)发送HTTP请求报文;
(4)服务器接收请求并作处理;
(5)服务器发送HTTP响应报文;
(6)断开TCP连接,4次握手。
这里需要大家回忆起计算机网络中学到的相关知识,主要是http请求的相关内容,重点了解下TCP三次握手的一个流程,阅读 网页http请求的整个过程,理解下网页的请求过程。
通用的网络爬虫框架
1.挑选种子URL;
2.将这些URL放入待抓取的URL队列;
3.取出待抓取的URL,下载并存储进已下载网页库中。此外,将这些URL放入待抓取URL队列,从而进入下一循环;
4.分析已抓取队列中的URL,并且将URL放入待抓取URL队列,从而进入下一循环。