爬虫介绍

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次握手。

通用网络爬虫的基本框架

  1. 挑选种子URL;
  2. 将种子URL放入待抓取的URL队列中;
  3. 取出待抓取的URL,下载并存储进下载库中,此外将这些URL放入待抓取URL队列,进入下一步循环;
  4. 分析已抓取队列中的URL,并且将URL放入队列进入下一次循环,或者抛弃。
  5. 保存分析后的结果。

爬虫基本构成:

获取源码:Urllib,Request等;
解析源码:beautiful soup,正则表达式,xpath等;
保存数据:XLS, mysql,MongoDB等;

以上是关于爬虫介绍的主要内容,如果未能解决你的问题,请参考以下文章

网页爬虫--scrapy入门

网络爬虫--异常处理

爬虫基本结构

Python3---AJAX---爬虫

爬虫入门讲解:精华篇

爬虫 知识点 总结。