Scrapy和相关知识

2019-01-25  本文已影响8人  优秀的人A

爬虫背景知识:
大数据的时代?数据怎么来的呢?

企业产生的数据:大的公司会根据用户的行为记录数据,数据会被大公司利用
,可以用来做数据的分析

数据平台的数据:

政府和机构的数据:

数据咨询平台的数据:

什么是爬虫?
就是一段自动抓取互联网数据的程序或脚本

网页的三大特性?:
1.每一个网页都有自己唯一的URL地址(统一资源定位符)
2.网页都是通过HTML(超文本)来展示数据的
3.网页是通过http/https(超文本传输协议)来传输html的

爬虫最基本的步骤?:
1.寻找目标url,发起请求
2.获取请求的响应结果,分析响应结果
3.从响应结果中提取数据
a.第一部分,从网页中提取的目标数据
b.如果存在新的url地址,则提取,继续发起请求
爬虫结束:所有的目标url全部请求完毕,爬虫结束

爬虫的分类(通用爬虫,聚焦爬虫):

搜索引擎如何获取新网站的url:
1.向搜索引擎直接提交url地址(https://ziyuan.baidu.com/linksubmit/url)
2.通过网页的外链
3.跟DNS服务商合作,新网站注册的域对应的网
站将会迅速被搜索引擎抓取
搜索引擎的排名:
1.根据用户的访问量和网站的流量进行的排名
2.竞价排名:根据价钱进行网站的排名
搜索引擎需要遵守robot协议:
是一个规范,网站通过robot协议告诉搜索引擎哪些页面可以爬取,
哪些页面不可以爬取
https://www.taobao.com/robots.txt
User-agent: Baiduspider(搜索引擎爬虫名称)
Allow: /article (允许爬取的url)
Disallow: /product/ (不允许爬取的url)
搜索引擎的缺点:
1.只能够获取简单的文件数据,大型的二进制数据(音频,视频)
都不能够获取
2.搜索引擎搜索的结果千篇一律,没有办法根据特定的用户,特定的需求
获取特定的数据
3.搜索引擎搜索结果99%并没用
由于搜索引擎的缺点,产生了聚焦爬虫
聚焦爬虫:是面向主题,面向需求的爬虫,只获取跟
需求相关的数据

应用层 表示层 会话程 传输层 网络层 数据链路层 物理层
应用层:http/https
传输层:TCP/UDP
TCP:网络传输协议,面向连接的,长连接,传输的是数据流
,确保数据的安全性和完整性,但是数据传输的效率低
UDP:网络传输协议,是非面向连接的,短连接,传输的是数据包,
传输数据是不安全的,可能会造成数据的丢失,传输速度非常快

实现从网络传输草文本数据到本地浏览器的传送协议

https(端口号是443):是http的安全版本,在http的基础上添加了一个
SSL(安全套接字层)层,用于web端的安全传送,在传输层
对网络连接进行加密,
1.构建了一个安全的数据传输通道.
2.保证网站的真实性和有效性
https协议需要有一个证书(CA证书):由专门的证书机构颁发的,
也可以自己生成,但是访问的时候会提示连接不安全

URL介绍:
URI:统一资源标志符
URN:统一资源名称
URL:统一资源定位符
URI是URN和URL的父类

1.使用场景:get从服务器端获取数据,post请求向服务器端提交数据
2.安全性:get请求参数只拼接在url地址上,post请求会将参数放在
请求体中,(注意:不要误认为只要url地址后面添加了参数就是一个get请求)
3.get请求的url是有长度限制的,post的请求体中可以添加很多字段

User-Agent:这个是设置浏览器
(设置这个参数模拟浏览器请求对方服务器)
Cookie:保存在客户端中,保存的是用户信息
Referer:告诉服务器,当前请求是从哪个界面跳转过来的(防盗链)
Accept:可以接受的数据类型....

http请求是无状态的,每一次请求断开后,下一次请求就
认为是一个新的请求,为了维持请求状态就用到了Cookie
和Session
Cookie:保存在客户端的,记录信息确定用户的身份
Session:保存在服务端的,同样是记录信息确定用户身份

200:请求成功
3xx:重定向
301:永久重定向
302:临时重定向
4xx:客户端请求错误
400:请求错误,服务器无法解析
401:未授权,没有进行身份验证
403:服务器拒绝访问
404:访问的页面不存在
405:请求方式不允许
408:请求超时 5xx:服务端错误
500:服务端内部错误
501:服务器暂时不具备完成请求的功能
503:服务器不可用

上一篇下一篇

猜你喜欢

热点阅读