scrapy_splash动态ip代理和请求头的动态修改

scrapy_splash的安装:http://www.cnblogs.com/shaosks/p/6932319.html
docker tool box安装包:https://pan.baidu.com/s/1HwEghVAL8kmkNPCtMxuGAw 密码:owq9
scrapy_splash的简单爬虫实例(京东):https://www.cnblogs.com/shaosks/p/6950358.html
scrapy_splash中文文档:https://www.e-learn.cn/content/qita/800748
splash官方文档:https://splash.readthedocs.io/en/stable/
scrapy_splash官方文档:https://github.com/scrapy-plugins/scrapy-splash

在使用过程中,不可以常规的scrapy使用习惯来进行splash的ip代理替换和请求头的替换。经过我的测试,直接在SplashRequest中进行二者替换都是会使程得到错误的返回结果。
经过我的使用确保正确的ip代理替换方式有两种:
1.脚本里ip替换:
在这里插入图片描述
splash:on_request(function(request)
request:set_proxy{
host = “112.195.200.6”,
port = 4216,
}
end)
下面脚本正常写
2.Middleware替换:
若在中间件中使用ip代理,那就别忘了在setting中开启该代理,并且ip代理的值要在scrapy_splash的前面哟

请求头的替换:
1.脚本里请求头替换
在这里插入图片描述
2:scrapy中动态请求头的设置
这个设置我没有真正的试验过,不过这个方法是我在官方文档上找到的,应该不会错吧。对吧~

在这里插入图片描述
在这里插入图片描述

还有,最重要的就是scrapy中,lua脚本的启动方式:
Endpoint,默认设置的是render.html,如果访问返回的数据是json,就可以改成render.json.若使用自己写的脚本人,就需要改成execute

猜你喜欢

转载自blog.csdn.net/qq_38044574/article/details/83304370