爬虫介绍
Posted ydqq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫介绍相关的知识,希望对你有一定的参考价值。
什么是爬虫
网络爬虫又称网页蜘蛛,是一种按照一定规则自动地抓取互联网信息的程序或脚本。
爬虫有什么用
市场分析:电商分析,商圈分析,一二级市场分析等;
市场监控:电商,新闻,房源监控等;
商机发现:招标情报发现,客户资料发掘,企业客户发现等。
网页的两种加载方式
同步加载(静态加载):改变URL的参数网页内容就会发生变化;
异步加载(动态加载):改变URL的参数网页内容不发生变化。
网页构成
html:网页的主要内容;
CSS:网页的排版格式;
javascript:网页的动态效果,以及动作指令。
网页请求
谷歌浏览器的开发者模式中network可以查看网页请求
请求头(Request Headers):
-
Accept: text/html,image/* (浏览器可以接收的类型)
-
Accept-Charset: ISO-8859-1 (浏览器可以接收的编码类型)
-
Accept-Encoding: gzip,compress (浏览器可以接收压缩编码类型)
-
Accept-Language: en-us,zh-cn (浏览器可以接收的语言和国家类型)
-
Host: www.baidu.org:80 (浏览器请求的主机和端口)
-
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT (某个页面缓存时间)
-
Referer: http://www.it315.org/index.jsp (请求来自于哪个页面)
-
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) (浏览器相关信息)
-
Cookie: (浏览器暂存服务器发送的信息)
-
Connection: close(1.0)/Keep-Alive(1.1) (HTTP请求的版本的特点)
-
Date: Tue, 11 Jul 2000 18:23:51 GMT (请求网站的时间)
响应头(Response Headers):
-
Location: http://www.baidu.org/index.jsp (控制浏览器显示哪个页面)
-
Server:apache tomcat (服务器的类型)
-
Content-Encoding: gzip (服务器发送的压缩编码方式)
-
Content-Length: 80 (服务器发送显示的字节码长度)
-
Content-Language: zh-cn (服务器发送内容的语言和国家名)
-
Content-Type: image/jpeg; charset=UTF-8 (服务器发送内容的类型和编码类型)
-
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT (服务器最后一次修改的时间)
-
Refresh: 1;url=http://www.it315.org (控制浏览器1秒钟后转发URL所指向的页面)
-
Content-Disposition: attachment; filename=aaa.jpg (服务器控制浏览器发下载方式打开文件)
-
Transfer-Encoding: chunked (服务器分块传递数据到客户端)
-
Set-Cookie:SS=Q0=5Lb_nQ; path=/search (服务器发送Cookie相关的信息)
-
Expires: -1 (服务器控制浏览器不要缓存网页,默认是缓存)
-
Cache-Control: no-cache (服务器控制浏览器不要缓存网页)
-
Pragma: no-cache (服务器控制浏览器不要缓存网页)
-
Connection: close/Keep-Alive (HTTP请求的版本的特点)
-
Date: Tue, 11 Jul 2000 18:23:51 GMT (响应网站的时间)
网页请求过程
从浏览器输入网址到用户看到网页内容的步骤如下:
(1)DNS解析,获取IP地址;
(2)与服务器建立TCP连接,3次握手;
(3)发送HTTP请求报文;
(4)服务器接收到请求并作处理;
(5)服务器发送HTTP响应报文给浏览器;
(6)断开TCP连接,4次握手。
通用网络爬虫的基本框架
- 挑选种子URL;
- 将种子URL放入待抓取的URL队列中;
- 取出待抓取的URL,下载并存储进下载库中,此外将这些URL放入待抓取URL队列,进入下一步循环;
- 分析已抓取队列中的URL,并且将URL放入队列进入下一次循环,或者抛弃。
- 保存分析后的结果。
爬虫基本构成:
获取源码:Urllib,Request等;
解析源码:beautiful soup,正则表达式,xpath等;
保存数据:XLS, mysql,MongoDB等;
以上是关于爬虫介绍的主要内容,如果未能解决你的问题,请参考以下文章