目前在学习爬虫的课程
以下小坐总结:
第一天主要看了以写爬虫的原理以及爬虫数据的抓取
一
1.1:为什么学习爬虫
最主要的是在目前看来,爬虫工程师属于紧缺型人才,并且薪资待遇普遍较高
1,学习爬虫,可以私人定制一个搜索引擎。
2,大数据时代,要进行数据分析,首先要有数据源
3,对于很多SEO从业者来说,从而可以更好的进行搜索引擎优化。
1.2爬虫的概念
什么是网络爬虫?
网络爬虫(又被称为网页蜘蛛,网络机器人)爬虫就是模拟客户端发送网络请求,
接受请求对应的响应,一种按照一定规则,自动抓取互联网信息的程序。
只要是客户端(主要指浏览器)能做的事情,原则上,爬虫都能够做。
换言之,只要人能能够正常访问的网页,爬虫在具备同等资源的情况下就一定能抓取到。
1.3 爬虫的用途
主要用途:数据采集
其他用途:各种抢购,12306抢票。投票刷票,短信轰炸,网络攻击,web漏洞扫描器
1.4 爬虫的分类
通用爬虫:通常指搜索引擎和大型服务提供商的爬虫
聚焦爬虫:针对特定网站的爬虫,定向的获取明发面数据的爬虫
累计式爬虫:从开始到结束,不断的爬取,过程中会进行去重操作。
增量式爬虫:已下载网页采取增量式更新和只爬取新产生的或者已经发生变化网页的爬虫
DEEP WEB爬虫: 不能通关过静态链接获取的,隐藏在搜索表单后的,只有用户提交一些
关键词才能获得的web页面(通常值:有些只能是会员,或者登陆之后的,普通爬虫只是冰山一角,深度就深到海底)。
1.5 爬虫的用途:
金融 金融新闻/数据 制定投资策略,进行量化交易
旅游 各类信息 优化出行策略
电商 商品信息 比价系统
游戏 游戏论坛 调整游戏运营
银行 个人交易信息 征信系统/贷款评级
招聘 职位信息 岗位信息
一/二: 通用爬虫和聚焦爬虫工作原理
2.1 通用搜索引擎的局限性
通用搜索引擎所返回的网页里90%的内容无用。
中文搜索引擎自然语言检索理解困难,举个例
信息占有量和覆盖率存在局限。
搜索引擎最主要的还是以关键字搜索为主,对于图片、数据库、音频、视频多媒体的内容通用搜索引擎无能为力。
搜索引擎的社区化和个性化不好,大多数搜索引擎没有考虑人的地域,性别,年龄的差别
搜索引擎抓取动态网页效果不好
一/三.ROBOTS协议
什么是Robots协议:
Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
Robots协议是一个道德层面的约定,爬虫作者遵不遵守完全看自己意愿。
存在位置:
robots.txt文件应该放置在网站根目录下
例如:
https://www.taobao.com/robots.txt
二、HTTP和HTTPS复习内容
1、HTTP和HTTPS
2、HTTP的请求过程
3、HTTP的请求报文格式
4、HTTP的常见请求头
5、GET和POS
6、响应状态码
2.2 浏览器发送http请求的过程
url 的格式
形式:scheme://host[:port#]/path/…/[?query-string][#anchor]
scheme:协议(例如:http, https, ftp)
host:服务器的IP地址或者域名
port:服务器的端口(如果是走协议默认端口,80 or 443)
path:访问资源的路径http://www.cnblogs.com/be-saber/p/4734951.html
query-string:参数,发送给http服务器的数据,参数使用&隔开
anchor:锚(跳转到网页的指定锚点位置)
https://detail.tmall.com/item.htm?id=545181862652
为什么要进行编码
通常如果一样东西需要编码,说明这样东西并不适合传输。原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义。Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非ASCII字符,例如中文。
Url编码与解码
浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符, 将数据排行等等)作为URL的一部分或者分离地发给服务器。
Url编码的原则:
使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那些不安全的字符。
重要 重要 重要
浏览器访问一个网站,在的获取源码之后会根据源码上的链接加载图片,js,css文件等,我们称之为渲染,而爬虫只会请求源码
2.3HTTP请求报文的格式
Http请求报文分为三部分:
1.请求行
2.请求头 请求头中包含很多信息,通常会告知服务器一些信息
3.请求体 post请求数据存放位置
2.4HTTP常见的请求头
1.Host (主机和端口号)
2. Connection (链接类型)
3. Upgrade-Insecure-Requests (升级为HTTPS请求)
4. User-Agent (用户代理)
服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等
5. Accept (传输文件类型)
6. Referer
页面跳转处,从何处来到当前页面,可用于防爬和防盗链
7. Accept-Encoding
览器支持的编码类型,主要的编码格式就是压缩格式
gzip compress deflate
8. Cookie
用于进行状态保持,通常也可用于识别用户身份
9. x-requested-with :
XMLHttpRequest 是Ajax 异步请求
免责声明:文章源自网络,版权归原作者所有,如有侵犯联系删除。