據說你又被封 ip 了,你要學會假裝好本身,此次說說假裝你的頭部。惋惜加了header請求頭,加了cookie 仍是被限制爬取了。這時就得祭出IP代理池!!!
python
下面就是requests使用ip代理例子git
response = requests.get(url,proxies=proxies)
這樣就可使用你定義的代理地址去訪問網站了github
但IP代理哪裏來阿?有兩種方式redis
這時咱們能夠搞個IP代理池,思路就是經過python爬取大量免費代理IP,而後進行存活驗證,再提供接口使用。數據庫
其實這種事早就有人寫了,github上有不少優秀的項目,這裏分享兩個。(問題是我不會寫,Python從入門到放棄)windows
這裏我用第一個項目吧,畢竟Star 6k多安全
這時先安裝一下redis(步驟省略,記得勾上添加環境變量和放行防火牆)
服務器
以上說明咱們已經成功安裝了rediscookie
下面咱們將redis安裝成windows服務,自啓動ide
進到redis目錄下,而後執行redis-server --service-install redis.windows-service.conf
注意:不要找錯了 一般爲redis.windows-service.conf 而不是redis.windows.conf 後者是以非系統服務方式啓動程序使用的配置文件。
這時還得去看服務有沒有開啓
修改數據庫密碼等配置項,通常測試環境都無需加密碼,這裏仍是加一下吧
打開Redis服務配置文件redis.windows-service.conf,找到含有requirepass字樣的地方,追加一行,輸入requirepass 12345 並保存!!!
重啓一下服務(剛纔是開着的,如今先關後開)
Tips!!!
啓動臨時服務: redis-server.exe redis.windows.conf
客戶端調用: redis-cli.exe -h 127.0.0.1 -p 6379
卸載服務: redis-server.exe --service-uninstall
打開RedisClient 管理工具 點擊 服務器 > 添加
配置proxy_pool項目,首先在項目目錄下安裝依賴
配置Config/setting.py 其中若是有更改IP、端口、密碼的在圈圈裏面修改並保存!(代理池訪問網址端口也能夠在文件最底下改)
上面配置啓動後,默認代理池訪問地址爲 http://127.0.0.1:5010
若是你的依賴已經安全完成而且具有運行條件,能夠直接在Run下運行main.py。
若是運行成功你應該看到有4個main.py進程,你也能夠分別運行他們,依次到Api下啓動ProxyApi.py,Schedule下啓動ProxyRefreshSchedule.py和ProxyValidSchedule.py便可。
把項目跑起來!!!
在RedisClient 工具下查看數據
API使用
大體搭建過程就在這裏啦,不過免費的IP代理仍是差不少,生產環境需求最好仍是花錢購買API接口,質量好!!!