Python_Spider_Tutorials
声明:学习资料来源于wistbean’s github
Part 1: 理论基础
请求方式
GET 请求
www.xxxxx.com/s?xx=yyyyy&xx=yyyyy
,?
后即为键值对形式的请求参数。
POST 请求
以Form
表单方式提交参数的请求,参数一般在request body
里面。
- 请求头 Request Header
包含一些HTTP请求
的头部信息,如Accept
,Host
,cookie
,User-Agent
。 - 响应头 Response Header
- 响应体 Response Body
服务器返回的数据。
Part 2: 通过 Fiddler 进行手机抓包
设置
- 配置浏览器代理
浏览器 - 设置 - 高级 - 打开代理设置 - IP127.0.0.1
端口8888
- 安装 HTTPs 证书
Fiddler - Tools - Options - HTTPS - 勾选Decrypt HTTPS traffic
- Actions -Reset All Certificates
- 下载证书
浏览器输入localhost:8888
,点击FiddlerRoot certificate
下载证书。 - 设置 Fiddler
设置Fiddler Classiclistens onport: 8888
;
勾选Act as system proxy on startup
,Monitor all connections
,Allow remote computers to connect
,Reuse client connections
,Reuse server connections
,DefaultLan及本框所有
。 - 重启电脑
- 手机连接统一 WIFI,浏览器进入
[IPv4地址]:8888
,点击FiddlerRoot certificate
下载证书。 - 仅针对iPhone,Android跳过此步。设置 - 通用 - 关于本机 - 证书信任设置 - 勾上刚下载的证书。
此节暂时终止,原因为手机添加代理后无法上网,且未解决Tunnel To 443
问题。
Part 3: 第三方库
Urllib 库的使用
requset 模块
主要作用:发起请求
urllib.request.urlopen(url, data=None, [timeout,]*)
默认是Get
请求,传入参数data
后成为POST
请求。urllib.request.Request(url, data=None, headers={}, method=None)
此函数可以传入请求头信息
了。
error 模块
主要作用:异常处理
parse 模块
解析 URL 地址
robotparser
解析 robot.txt
Request 库的使用
比 Urllib
简单得多,推荐首选。
使用自行查找(官方文档)[https://requests.readthedocs.io/en/latest/]。
Part 4: 正则表达式
(Github 教程)[https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md#learn-regex]
(re 库)[https://docs.python.org/3/library/re.html]
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ReModer's Blog!
评论
gi