黄色一级二级三级_99精品视频在线免费观看_一本大道久久a久久综合婷婷 _久久精品国产99国产精品澳门_精品久久久久久综合日本_外国成人在线视频_久久婷婷综合激情_亚洲精品久久区二区三区蜜桃臀 _国产精品最新在线观看_手机福利在线_在线欧美不卡_亚洲夜晚福利在线观看

如何利用動態ip迎合爬蟲系統?

如何使用動態IP代理來迎合爬蟲系統?為了避免惡意攻擊,企業正在制作網站系統。寫爬蟲的時候,有些網站會有一些反爬蟲的措施,比如限制單個ip的訪問頻率,突破ip限制大概有以下幾種方式:
 
 
與抓取的網站合作,將自己的ip加入白名單;
 
買多臺公共ip的服務器,每臺都有爬蟲腳本,相當于每臺爬蟲都有自己獨立的IP;
 
買一些便宜的ip資源,用這些IP做代理(可以是低配置的服務器,每臺機器多個公網IP,只負責網絡代理,不跑業務)。
 
1.既然選擇抓取人的數據,那么初期應該沒有合作的意向和渠道。
 
2.多臺服務器成本高,同一個爬蟲部署在多個地方,維護成本也高(配置、部署、升級、爬蟲之間的相互協調等。).
 
3,成本低,不需要在很多地方部署腳本。
 
本文將從原理到實現一步步解釋模式3。
 
Http代理原則
 
當訪問一個站點時,網站服務器可以獲取訪問者的ip。服務器可以根據ip的請求進行一些限流操作。相反,代理在訪問者和網站之間添加了一個中介。向訪問者中間人發送請求,中間人將請求轉發給站點,最后中間人將站點的響應返回給訪問者。在這個過程中,網站只能看到代理商(中間人)的ip。
 
沒有代理:訪問者的網站(網站看到訪問者的ip)
 
有代理的情況:訪問者代理站點(站點看到代理的ip)
 
有動態代理:訪客[代理1,代理2,代理3,...]站點(該站點看到多個代理的隨機ip)
 
嘗試卷曲
 
你可以通過訪問http://httpbin.org/ip:獲得自己的ip
 
卷曲http://httpbin.org/ip{ "起源":" 58.243.254.31"}
 
你可以看到我的外網ip是58.243.254.31。Curl支持- proxy參數來指定代理:
 
curl-proxy http://localhost:1087 http://httpbin.org/ip{ " origin ":" 217 . 197 . 160 . 199 " }
 
使用代理后,我的ip(訪問過的網站)變成了217.197.160.199。通過以上實驗,你一定對代理有了一定的認知。
 
用nodejs寫一個簡單的爬蟲
 
這個爬蟲非常簡單,即它請求http://httpbin.org/ip并將返回值打印到控制臺。
 
#創建一個名為node-crawler mkdir node-crawler的文件夾#輸入此文件夾cd node-crawler#創建一個默認包. jsonnpm init -y#安裝請求取決于npm i -S請求#創建一個名為index.js TouchIndex.js的新文件。
 
index.js的內容如下:
 
const request = require(" request ");Request(,(err,res,body)=>{ //暫時忽略錯誤消息,直接打印body console . log(body);});
 
在控制臺上執行node index.js,您將獲得以下輸出:
 
{ "origin": "58.243.254.31,58.243.254.31"}
 
與curl類似,我們可以為請求方法配置代理參數:
 
const request = require(" request ");request({ URL:" http://http bin . org/IP ",proxy: "http://localhost: 1087"},(err,res,body)= > {//暫時忽略錯誤消息,直接打印body console . log(body);});
 
再次執行node index.js,您將獲得以下輸出:
 
{ "origin": "217.197.160.199,217.197.160.199"}
 
至此,單個http代理已經完成。接下來,我們討論如何在多個http代理之間動態地來回切換,以削弱被爬取的站點對訪問者ip的限制。
 
第一個方案
 
從外部將ip代理參數傳遞給爬蟲腳本,爬蟲運行后自動退出,然后取另一個ip代理參數,爬蟲腳本重新運行,循環往復。
 
您可以像這樣編寫一個shell腳本:
 
#!/usr/bin/env bash#假設有2個http代理可用=(' http://a . b . c . d:8443 ' ' http://h . I . j . k:1087 ');# while(真)一遍又一遍;Do #一次取出“$”中p的一個代理;Do echo使用代理$p #運行crawler PROXY=$p node index.js #休眠一段時間
 
其中PROXY=$p是定義環境變量的代理,其值是兩個http代理中的任意一個。讓我們修改index.js,使用代理環境參數作為它的代理:
 
const request = require(" request ");const proxy = process . env . proxy;request({ URL:" http://http bin . org/IP ",proxy}、(err,res,body)= > {//暫時忽略錯誤消息,直接打印body console . log(body);});
 
該方案使用bash腳本和js爬蟲腳本。對于不了解bash的人來說,維護起來有一定的心理負擔。接下來我們用純js語言來實現。
 
第二個方案
 
將方案一中的bash轉換為js,并將index.js的內容調整為:
 
const request = require(" request ");const proxy =[" http://a . b . c . d:8443 "," http://h . I . j . k:1087 "];main();// index是循環執行函數main (index = 0)的次數{ request({ URL:" http://http bin . org/IP ",//take proxy:proxy[index % proxies . length]},(err,res,body)= > {//暫時忽略錯誤消息。//5秒后取下一個代理,重新運行爬蟲setTimeout( main,5000,index+1);});}
 
綜上所述,我們實現了從不使用代理,使用單個代理,再使用多個代理的過程,讓我們的爬蟲盡可能少的受到服務器電流限制的影響。我們還研究了當一個需求有多種解決方案時,如何選擇經濟成本、開發成本和維護成本。
 
国产私人影院| 青草伊人久久| 亚洲精品乱码久久久久久久久 | 国产91视频一区| 欧美日韩精品免费观看视频完整| 97婷婷涩涩精品一区| 日本免费成人| 亚洲午夜av电影| 狠狠躁少妇一区二区三区| 欧美日韩国产免费一区二区 | 国产欧美一区二区三区四区| a看欧美黄色女同性恋| 久久久国产91| 伊人久久一区| 久久久精品在线| 奇米一区二区| 蜜臀久久99精品久久久无需会员| 男人皇宫亚洲男人2020| 亚洲精品网址在线观看| 免费在线小视频| 亚洲日本欧美中文幕| 色香欲www7777综合网| 亚洲深夜福利在线| 亚洲伦理影院| 久久久999精品免费| 澳门精品久久国产| 国产激情久久久| 五月综合激情| 久久精品日产第一区二区三区 | 91精品国产色综合久久不卡电影| 中文字幕在线视频免费观看| 亚洲大型综合色站| 又黄又爽在线观看| 一本到高清视频免费精品| 韩日视频在线| 在线观看91精品国产麻豆| 麻豆蜜桃在线| 久久色在线播放| 婷婷成人影院| 国产福利久久精品| 日韩1区2区日韩1区2区| 日本大片免费看| 国产精品久久毛片av大全日韩| 97影院在线观看| 91精品国产91久久久久久一区二区 | 精品国产一区a| 香蕉成人av| 欧美高清视频在线播放| 久久国产成人精品| 久久大片网站| 久久激情五月激情| 成人免费在线观看视频网站| 亚洲一区二区在线播放相泽| 成黄免费在线| 在线视频日本亚洲性| 色橹橹欧美在线观看视频高清| 91在线色戒在线| 韩国一区二区三区| 天堂色在线视频| 91精品国产一区二区三区香蕉| 2019年精品视频自拍| 国产精品影院在线观看| 日韩不卡在线观看日韩不卡视频| 久草在在线视频| 欧美日韩五月天| 香蕉久久一区| 国产精品乱码视频| 久久婷婷国产综合精品青草| 国产精品99999| 亚洲色图校园春色| 日韩免费在线| 色乱码一区二区三区熟女| 日韩理论片网站| av网址在线免费观看| 久久久之久亚州精品露出| 精品电影一区| 国内自拍视频一区| 欧美一区二区视频观看视频| 久本草在线中文字幕亚洲| 日韩欧美一区二区三区四区| 亚洲视频在线观看三级| 老色鬼在线视频| 成人性生交大片免费观看嘿嘿视频| 国产一区91精品张津瑜| 神马久久精品| 丝袜亚洲另类欧美重口| 欧美性色综合网| 精品久久久久久中文字幕| 亚洲精品中字| 国产精品美女视频| 色一区二区三区| 日韩影院一区| 日韩女优av电影| 大桥未久一区二区| 欧美午夜精品一区| 老司机午夜精品视频| 在线观看黄av| 无码免费一区二区三区免费播放 | 欧美xxxx老人做受| 蜜臀精品久久久久久蜜臀| 欧美日韩国产观看视频| 欧美 日韩 国产 高清| 欧美精品一区三区| 亚洲成人av一区| 亚洲激情另类| 97成人超碰| 在线免费毛片| 女人床在线观看| 国产精品久久久久久久久久东京| 色噜噜久久综合| 成人精品视频一区| 成人在线免费观看91| 69久成人做爰电影| 午夜亚洲成人| 大j8黑人w巨大888a片| 日韩av免费网站| 亚洲а∨天堂久久精品喷水 | 性刺激综合网| 日韩电影网在线| 亚洲五月婷婷| 羞羞的视频在线观看| 国产精品久久久久久久app| 国产日韩欧美不卡| 欧美aaaxxxx做受视频| 中文字幕日韩av综合精品| 欧美黄色大片在线观看| 一二三四视频在线中文| 久久久久久久久久久久久久久久av| 欧美视频在线一区| 亚州综合一区| 福利视频一二区| 精品视频一区三区九区| www.久久热| 国产精品视频大全| 国产99一区视频免费| 中文字幕日产av一二三区| 精品视频久久久久久| 亚洲瘦老头同性70tv| 九色porny丨首页在线| 密臀av一区二区三区| 97精品国产97久久久久久粉红| 国产精品欧美一区二区三区奶水| 中文国产成人精品久久一| 亚洲国内精品在线| 亚洲第一区第一页| 亚洲香蕉av在线一区二区三区| 91精品久久久久久蜜臀| 日韩亚洲欧美在线| 日韩手机在线导航| 日韩精品免费在线视频观看| 日韩av在线一区二区| 日韩成人中文电影| 国产一区二区三区在线| 亚洲人成在线一二| 欧美极品少妇xxxxⅹ裸体艺术| 性色av一区二区三区免费 | 国产福利第一视频在线播放| 国产精品ⅴa有声小说| 手机在线免费看av| 99只有精品| 日韩国产专区| 久久黄色网页| 久久久无码精品亚洲日韩按摩| 中文字幕在线不卡一区| 欧美亚洲激情| 中日韩免费毛片| 欧美一区二区三区四区在线| 亚洲18色成人| 亚洲天堂久久| 韩日欧美一区| 国产乱人伦精品一区二区在线观看| 韩国三级电影一区二区| 国产精品久久久久毛片软件| 欧美午夜视频网站| 九九热这里只有精品6| 91免费视频网站| 国产精品成人久久电影| 色视频精品视频在线观看| 国模精品视频| 欧美亚洲国产精品久久| 粉嫩在线一区二区三区视频| 6080yy午夜一二三区久久| 色av一区二区| 午夜精品视频在线观看| 亚洲国产精品精华液网站| 亚洲福利国产| 国产在线观看www| 快色在线观看| 五月天在线免费视频| 欧美福利一区二区三区| 91中文精品字幕在线视频| 国产在线精品成人一区二区三区| 欧美激情一区二区三级高清视频 | xxxxx日韩| 亚洲精品久久久中文字幕| 蜜桃传媒视频第一区入口在线看| 成人自拍视频网站| jizzjizz亚洲中国少妇| 精品国产伦一区二区三区观看说明| 久久er99精品|