1. 程式人生 > >scrapy_splash動態ip代理和請求頭的動態修改

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