船讯网|爬虫COOKIE重定向反爬处理

在之前船讯网爬虫船舶得各种mmsiimo信息的时候由于爬取过多导致被反爬,因此针对这个问题修改了代码如下!

COOKIE的处理:

保存客户端的相关状态

在爬虫中如果遇到了cookie的反爬如何处理?

手动处理
    在抓包工具中捕获cookie,将其封装在headers中
    应用场景:cookie没有有效时长且不是动态变化
    
自动处理
	使用session机制
	使用场景:动态变化的cookie
	session对象:该对象和requests模块用法几乎一致.如果在请求的过程中产生了cookie,如果该请求使用session发起的,则cookie会被自动存储到session中.

代码:

网页:船讯网|

headers = {
                User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
                }
session = requests.Session()
main_url = http://www.shipxy.com/  # 推测对该url发起请求会产生cookie
session.get(main_url, headers=headers)
url = http://www.shipxy.com/ship/GetShip
params = {
         mmsi: chuan,
         }
page_text = session.get(url, headers=headers, params=params).json()
经验分享 程序员 微信小程序 职场和发展