Scrapy实战
真正做项目时,你不会只写一个 Spider 文件就结束。
你需要开始理解 Scrapy 项目中多个组件是怎么配合的。
middlewares 中间件
中间件的作用,是在请求发出去前、响应回来后插入你的处理逻辑。
常见用途:
- 加请求头
- 加 Cookie
- 处理代理
- 对接 Selenium
对接 Selenium
如果页面是强依赖 JavaScript 动态渲染的,单纯请求 HTML 可能拿不到数据。
这时就可能要借助 Selenium 模拟浏览器。
添加头部信息和 Cookie
很多站点不带请求头、Cookie 就拿不到正常内容。
所以这一步在实战中很常见。
随机头部
随机切换请求头,可以让请求看起来不那么“机械”。
POST 请求
很多站点的数据接口不是 GET,而是 POST。
实战里你要学会分辨什么时候该发哪种请求。
实战中的真正重点
不是背 API,而是知道:
- 请求该在哪里改
- 响应该在哪里解析
- 数据该在哪里保存