精品综合久久久_久久日本片精品aaaaa国产_日韩视频在线一区二区三区_欧美色欧美亚洲另类七区

如何利用動態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);});}
 
綜上所述,我們實現了從不使用代理,使用單個代理,再使用多個代理的過程,讓我們的爬蟲盡可能少的受到服務器電流限制的影響。我們還研究了當一個需求有多種解決方案時,如何選擇經濟成本、開發成本和維護成本。
 
精品综合久久久_久久日本片精品aaaaa国产_日韩视频在线一区二区三区_欧美色欧美亚洲另类七区
一区二区三欧美| 一区二区日本视频| 一级成人国产| 亚洲精品久久久久中文字幕欢迎你| 精品69视频一区二区三区| 国产一本一道久久香蕉| 国产精品爽爽ⅴa在线观看| 国产精品久久毛片a| 欧美婷婷六月丁香综合色| 欧美午夜一区二区三区免费大片| 欧美日韩三区四区| 欧美吻胸吃奶大尺度电影| 欧美日韩一区免费| 欧美日韩在线播| 国产精品久久久久久久久久久久久久| 欧美午夜视频一区二区| 国产精品豆花视频| 国产精品亚洲一区| 国产视频不卡| 狠狠入ady亚洲精品| 一区二区三区在线视频观看| 在线欧美亚洲| 亚洲精选大片| 亚洲视频中文| 午夜日韩视频| 亚洲国产精品成人综合| 亚洲国产欧美一区二区三区同亚洲| 亚洲国产精品黑人久久久| 亚洲精品国精品久久99热| 夜夜嗨一区二区| 亚洲欧美综合v| 久久国产直播| 母乳一区在线观看| 欧美日韩亚洲国产一区| 国产免费成人在线视频| 精品va天堂亚洲国产| 亚洲国产欧美日韩精品| avtt综合网| 亚洲欧美在线观看| 亚洲国产精品一区在线观看不卡| 亚洲美女黄色| 先锋影音国产精品| 葵司免费一区二区三区四区五区| 欧美精品一区二区三区蜜桃 | 久久精品国内一区二区三区| 亚洲区欧美区| 亚洲一区二区网站| 久久国产视频网站| 欧美激情bt| 国产精品一区二区视频| 亚洲第一中文字幕在线观看| 宅男噜噜噜66一区二区66| 久久成人在线| 亚洲资源av| 免费不卡在线观看| 国产精品jizz在线观看美国| 国外成人网址| 在线亚洲国产精品网站| 久久精品国产亚洲一区二区三区| 99精品热视频| 久久精品一区二区国产| 欧美另类变人与禽xxxxx| 国产日韩欧美三级| 日韩一区二区精品| 久久精品国产999大香线蕉| 宅男噜噜噜66一区二区66| 久久久久久婷| 国产精品初高中精品久久| 精品9999| 亚洲欧美日韩国产综合精品二区 | 亚洲精品乱码久久久久久蜜桃麻豆 | avtt综合网| 久久久亚洲成人| 国产精品家庭影院| 亚洲国产91色在线| 午夜视频一区二区| 正在播放欧美视频| 美日韩免费视频| 国产精品色午夜在线观看| 亚洲国产欧美在线| 欧美自拍偷拍午夜视频| 亚洲直播在线一区| 欧美黄免费看| 韩日欧美一区| 午夜精品久久久久| 亚洲在线视频一区| 欧美日本高清一区| 亚洲国产精品999| 久久精品日韩一区二区三区| 香蕉久久夜色精品国产使用方法| 欧美日韩高清区| 亚洲大片免费看| 久久精品成人| 久久成年人视频| 国产精品久久久久一区二区三区共 | 最新成人av在线| 久久精品人人做人人综合| 欧美一区二区免费| 国产精品卡一卡二| 99视频有精品| 一本色道久久88综合日韩精品| 六月婷婷久久| 国产一区二区三区日韩| 亚洲欧美日韩电影| 午夜在线一区二区| 国产精品网站在线| 亚洲视频专区在线| 亚洲在线中文字幕| 国产精品久久国产精品99gif | 亚洲精品乱码久久久久久按摩观 | 久久久精品日韩欧美| 国产欧美日韩在线观看| 亚洲欧美激情四射在线日| 亚洲欧美国产高清va在线播| 欧美日韩一区二区三区免费看| 亚洲精品一区二区三区福利| 日韩视频免费观看| 欧美日韩成人在线播放| 亚洲精品久久久久久久久| 99av国产精品欲麻豆| 欧美日韩大片| 99在线精品视频在线观看| 99视频一区| 欧美日韩在线免费视频| 99精品视频免费观看视频| 中文欧美日韩| 国产精品久久久久久久9999| 亚洲一级在线观看| 久久黄金**| 好看不卡的中文字幕| 亚洲国产三级| 欧美黄色免费| 在线一区视频| 欧美一级大片在线观看| 国产视频在线观看一区二区| 久久精品夜色噜噜亚洲a∨| 欧美xxx在线观看| 亚洲精品一区二区三区蜜桃久| 亚洲视频自拍偷拍| 国产精品高潮呻吟久久| 午夜日韩av| 欧美69wwwcom| av成人免费在线观看| 羞羞漫画18久久大片| 韩日欧美一区二区三区| 亚洲精品视频免费| 国产精品国产三级国产普通话蜜臀| 亚洲视频自拍偷拍| 久久久午夜精品| 91久久久国产精品| 亚洲免费小视频| 国产在线国偷精品产拍免费yy| 91久久精品一区二区别| 欧美日韩在线电影| 欧美在线播放视频| 欧美激情一区二区三区不卡| 亚洲天堂男人| 久久久综合网| 亚洲精品一区二区三区不| 午夜综合激情| 亚洲高清久久久| 亚洲在线观看视频| 狠狠综合久久av一区二区小说| 亚洲精品中文字幕在线| 国产精品免费看| 亚洲国产精品久久久久| 欧美午夜片在线观看| 久久国产精品久久精品国产 | 国产精品久久波多野结衣| 久久黄金**| 欧美午夜激情小视频| 欧美自拍偷拍| 欧美网站在线| 亚洲黄色在线| 国产精品手机在线| 日韩一二三区视频| 国产日韩一区| 国产精品99久久久久久久vr| 狠狠色狠狠色综合日日91app| 亚洲一级免费视频| 在线国产欧美| 欧美在线综合视频| 亚洲精品日韩精品| 久久蜜桃av一区精品变态类天堂| 日韩亚洲精品电影| 米奇777在线欧美播放| 亚洲欧美国产精品va在线观看| 欧美国产另类| 久久激情久久| 国产精品爽爽ⅴa在线观看| 99这里有精品| 永久555www成人免费| 欧美一区二区三区成人| 亚洲精品一线二线三线无人区| 久久久久久夜精品精品免费| 一区二区三区|亚洲午夜| 欧美 日韩 国产 一区| 欧美一区在线视频| 国产精品你懂的在线欣赏| 亚洲九九精品|