(参考书籍Python 网络爬虫框架Scrapy从入门到精通,张颖,北京大学出版社)
一、Scrapy
1. Scrapy用途广泛,可以用于数据采集、数据挖掘、网络异常用户检测、存储数据、检测和自动化测试。
2. Scrapy使用了Twisted异步网络框架来处理网络通信,可以加快下载速度,不用自己去实现异步框架,并且包含了各种中间件窗口,可以灵活完成各种需求。
3. Scrapy可以在网站上并行执行16个请求。
二、爬虫
1. 爬虫的概念:爬虫是一个模拟人类请求网站行为的程序。可以自动请求网页,并将数据捉取下来,然后使用一定的规则提取有价值的数据。
2. 爬虫的应用范围:通用搜索引擎、推荐引擎、机器学习的数据样本、数据分析、购物比价、网络舆情分析。
三、 爬虫必备的前端知识(一)
1. HTTP
1)HTTP的工作原理:HTTP是基于客户/服务器模式,且面向连接的。HTTP定义了Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。
HTTP采用了请求/响应模型。客户端向服务器发送一个请求,请求中包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或错误代码、服务器信息、响应头部和响应数据。
HTTP请求/处理的处理步骤:
①客户端与Web服务器建立连接:一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP连接。
②客户端向Web服务器端发送HTTP请求:建立TCP连接,客户端向Web服务器发送一个文本的请求