1. 什么是爬虫
爬虫就是请求网站并提取数据的自动化程序
2. 爬虫的基本流程
1)发送请求
通过HTTP库向目标站点发送请求,即发送一个Request。
请求可以包含额外的headers等信息,等待服务器相应
2)获取相应内容
服务器接到请求后,会返回一个Response,Response的内容就是所要获取的页面内容。
返回的Response可能是HTML、json、二进制数据(图片视频)等类型
3)解析内容
根据得到的Response类型,选择对应的方法进行解析
4)保存数据
将我们想要的数据提取出来进行保存。
3. Request
1)请求方式
最常见的请求方式是GET和POST。除此之外还有其他的方式,比如HEAD、PUT、DELETE、OPTIONS等
- GET - 从指定的资源请求数据。
- POST - 向指定的资源提交要被处理的数据
GET和POST最大的区别在于:
扫描二维码关注公众号,回复:
4571567 查看本文章
a. GET将所以请求的参数都放在url里;POST将所以请求的参数放在表单里
b. GET请求可以直接通过url访问;POST请求需要构建表单才能访问
2)请求的url
url全称统一资源定位符。通过url获得网页/文档/图片等
3)请求头
请求头是请求时的头部信息。如User-Agent、Host、Cookies等信息。
网页在进行反爬虫时,请求头是一个非常重要的判定元素
4)请求体
一般来说,在使用POST请求时,需要传入相应的请求体来获得Response
4. Response
1)状态码status
2XX:成功访问
3XX:重定向
4XX:请求错误
5XX:服务器错误
2)相应头 Response Headers
如内容类型、内容长度、服务器信息等
3)响应体
最主要的部分,包含了请求资源的内容,如网页HTML、图片二进制数据等
5. 处理JavaScript渲染问题
1)AjAX异步加载分析
2)Selenium/WebDriver 模拟浏览器操作
3)Splash模拟JS
4)PyV8、Ghost.py模拟加载JS