其实之前也有爬虫的经历,但是感觉就是不精,不深。所以设了一个分类记录python爬虫的学习历程
url
形式
scheme://host[:port#]/path/…/[?query-string][#anchor]
-
scheme:协议(http https ftp)
-
host:服务器的IP或者域名
-
port:服务器端口(协议默认端口 80或443)
-
path:访问资源的路径
-
query-string:参数,发送给http服务器的数据
-
anchor:锚(跳转到网页的指定锚点位置)
-
Connetion:keep-alive(我们的客户端告诉对方客户端常用上次连接,耗时更短,速度更快)
-
user-agent:不同设备的切换
-
upgrade-insecure-request:表示支持将不安全请求转换为安全请求(输入http转为https等)
-
accept:接受的格式
-
accept-encoding:压缩包等等gzip
-
accept-language:CN en ru…
-
q:权重
-
cookie:用户信息(保存在浏览器上,不安全)有一个更安全的setter还是啥的 name value,组成相应格式即可
-
referer:页面跳转出
-
x-requested-with:X… ajax异步请求
一般带user-agent和cookie即可
常见请求方法
主要是应用场景的区别
Get
- 更常用、普遍
- 一般情况
Post
- 字段多,数据大时(发送到对方服务器)
- 更安全
相应状态码
- 200:成功
- 302:临时转移至新的url
- 307:临时转移至新的url
- 404:not found
- 500:服务器内部错误(或者被反爬虫)
爬虫
爬虫分类
- 通用爬虫(整个互联网)
- 聚焦爬虫(特定网站,特定数据 重点)
通用搜索引擎工作原理
- 搜索引擎流程:抓取网页->数据存储->预处理->提供检索服务,网站排名
- 聚焦爬虫流程:url list(也可以是爬出来的url地址)->响应内容->提取数据->入库
###爬虫学习
- 1 基础知识
- 2 requests的使用
- 3 数据提取方法
- 4 动态网页数据提取
(静态 动态:是否通过gs加载上去)
- 5 scrapy(爬虫框架)
- 6 scrapy radis(爬虫框架)
更快 写的更便捷