根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.
通用网络爬虫 是 捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的
是将互联网上的网 页下载到本地,造成一个互联网内容的镜像备份。
通用网络爬虫 从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎创建索
引从而提供支持,它决定着 整个引擎系统的内容是否丰富,信息是否即时,所以其性
能的优劣直接影响着搜索引擎的效果
搜索引擎如何获取一个新网站的URL:html
搜索引擎蜘蛛的爬行是被输入了必定的规则的,它须要听从
一些命令或文件的内容。python
1.大多状况下,网页里90%的内容对用户来讲都是无用的。正则表达式
聚焦爬虫,是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区别在
于:聚焦爬虫在实施网页 抓取时会对内容进行处理筛选,尽可能保证只抓取与需求相关的
网页信息。
要学习的,就是聚焦爬虫。数据库
• HTTP协议-80端口
HyperTextTransferProtocol ,
超文本传输协议是一种发布和接收HTML页面的方法。
• HTTPS-443端口
HypertextTransferProtocoloverSecureSocketLayer ,
简单讲是HTTP的安全版,在HTTP下加入SSL 层。
HTTP工做原理
网络爬虫抓取过程能够理解为模拟浏览器操做的过程。浏览器
浏览器发送HTTP请求的过程
1.当用户在浏览器的地址栏中输入一个URL并按回车键以后,浏览器会向HTTP服务
器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种方法。缓存
URL
URL(Uniform/UniversalResourceLocator的缩写):统一资源定位符,是用于完
整地描述Internet上网页和其余资源的地址的一种标识方法。
基本格式: scheme://host[:port#]/path/.../[?query-string][#anchor]
• query-string:参数,发送给http服务器的数据
• anchor:锚(跳转到网页的指定锚点位置)安全
客户端发送一个HTTP请求到服务器的请求消息,包括如下格式:
请求方法Method
根据HTTP标准,HTTP请求可使用多种请求方法.
HTTP0.9:只有基本的文本GET功能。
HTTP1.0:完善的请求/响应模型,并将协议补充完整,定义了三种请求方法:GET,POST和HEAD方法。
HTTP1.1:在1.0基础上进行更新,新增了五种请求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT方法。服务器
Get 和 Post 详解网络
HTTP响应由四个部分组成,分别是: 状态行 、 消息报头 、 空行 、 响应正文python爬虫
200: 请求成功
302: 请求页面临时转移至新url
307和304: 使用缓存资源
404: 服务器没法找到请求页面
403: 服务器拒绝访问,权限不够
500: 服务器遇到不可预知的状况
服务器和客户端的交互仅限于请求/响应过程,结束以后便断开,在下一次请求时,服
务器会认为新的客户端。为了维护他们之间的连接,让服务器知道这是前一个用户发送
的请求,必须在一个地方保存客户端的信息。
•
Cookie:经过在客户端记录的信
息肯定用户的身份。
•
Session:经过在服务器端记录
的信息肯定用户的身份。
制做爬虫的基本步骤
分析网页
pic_url = re.findall('"objURL":"(.*?)",',html,re.S)
编写爬虫代码