日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爬虫ip限制_简单爬虫,突破IP访问限制和复杂验证码,小总结

發布時間:2023/12/10 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬虫ip限制_简单爬虫,突破IP访问限制和复杂验证码,小总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡單爬蟲,突破復雜驗證碼和IP訪問限制

好吧,看題目就知道我是要寫一個爬蟲,這個爬蟲的目標網站有一些反爬取意識,所以就有了本文了。

我先說說場景吧:

由于工作需要,平時有一大堆數據需要在網上查詢,并歸檔存庫。某次,這種任務也給我安排了一份。觀察了一網站,我的第一反應就是用爬蟲取抓取。這種機械的工作何必人工呢?

由于這家網站有反爬蟲的意識,做了些工作,給我的爬蟲去爬取數據造成了某些麻煩。

先列舉出問題所在:

首當其沖,驗證碼,該網站采用了數字加中文的簡單四則運算作為驗證碼。

查詢目標路徑參數經過了加密,我并不能直接通過取路徑加參數的方式來直接跳過某些頁面。

IP限制,該網站對訪問的IP做了訪問次數計數限制。經過我的測試,一個純凈IP訪問該網站一小時內最多能爬取40個有效數據(這里針對我的抓取目標來說,HTTP請求次數差不多之多200次,但是若在30s內訪問次數超過25次HTTP請求,那么這個IP就直接被封掉)

好吧,主要的問題就是這些,一些爬取過程中的小問題,就不列舉了。園子里面一大堆的解決方案。這里我主要說的是,驗證碼和IP限制的問題。

當然,我的解決方案并不是什么高超的技巧。應該都是老路子了。

1、? 驗證碼

原圖:

?

?

這種的驗證碼難度在于字符粘連,字符隨機旋轉問題。這兩種,我分別采用了投影直方圖分割、卡殼法來分別切割字符和校正角度。

我首先寫了一個工具來測試:

從上面的效果圖,各位看官應該能看出,我的方法還是比較簡單和傳統的,那就是做特征庫,通過分割出來的字符去匹配特征庫的相似度來判斷圖片中的文字到底是什么。這里沒有使用 第三方的光學識別(OCR?),因為識別漢字感覺識別率還是比較差,而且驗證碼中的漢字其實并不多,就是幾個特定的字符,加減乘除等。所以通過特征庫來識別也是綽綽有余了。

關于驗證碼,我來說說我的一些問題,對于灰度計算和二值化,園子里面有很多算法,但是對于降噪,也就是去干擾線,需要自己根據目標來寫特定的算法。我這里是通過削皮的方式來去掉的,每次給所有陰影剝掉一層1px的范圍,填充為白色。當然了,我這方法不具備通用性。不同的驗證碼需要根據觀察來用不同的方式來去除。

分割呢,也就是直方圖了,其實我的驗證碼也是可以根據色彩來做單色的直方圖,這樣來一步完成分割字符和降噪(有這想法,但是沒有實際去實現。不過看有些大牛的博客說這樣的方法是可行的)。我所了解到的分割方法還有滴水分割,不過我拿了論文資料,可惜看得不是很懂。下面貼了一段簡單繪制直方圖的方法:

1 //繪制直方圖

2 var zftbit = newBitmap(bit4.Width, bit4.Height);3 using (Graphics g =Graphics.FromImage(zftbit))4 {5 Pen pen = newPen(Color.Blue);6 for (int i = 0; i < bit4.Width; i++)7 {8 g.DrawLine(pen, i, bit4.Height - YZhiFang[i] * 2, i, bit4.Height);9 }10 //閥值

11 g.DrawLine(new Pen(Color.Red), 0, bit4.Height - 2, bit4.Width, bit4.Height - 2);12 }13 p_zft.Image = zftbit;

繪制直方圖

關于隨機旋轉的字符問題,我的做法是,將驗證碼中的字符分割成獨立單位后,進行正負30度旋轉,每旋轉一次,計算一次投影寬度,由于我們的字體基本上都是‘方塊字’,所以呢,在旋轉的時候,最小寬度肯定是‘擺正’了的,不過,這里有個小問題,那就是若源字符旋轉超過45°,我們將字橫著放置的時候,其寬度也是最小的。不過我們讓機器多學習幾次,將四個方向擺放的圖形都學習了,就可以了。這就是卡殼法了。

2、IP限制問題

這里我用了最無賴也是最無解的方法來解決的。我直接通過切換訪問的代理來突破,這里沒有絲毫技術性含量。掛上代理后,去訪問目標網站,根據返回的結果判斷代理是否還有效。若是無效了,將當前查詢目標回滾一次,并切換代理就行了。

3、爬蟲

主角爬蟲來了,我最早設計的爬蟲是不控制時間的連續訪問的,這導致代理消耗的特別快。所以不得不想辦法解決這個問題。另外由于沒有專門的爬蟲服務器,我只能通過辦公室的電腦來完成這項任務。由此,我設計了一個總線式爬蟲。

我寫了一個爬蟲服務端和一個爬蟲客戶端,服務端當做中央處理器,來分配計算量,客戶端爬蟲用來抓取數據。這樣的情況下,各個客戶端執行的速度其實是不一樣的,請求響應又快又慢,驗證代理是否有效也需要時間,所有,客戶端爬蟲完成任務的時間肯定不一樣,所以我安排了這樣一臺電腦做作為中央處理器,分批次,小劑量的去分發任務列表。并接收客戶端回傳的結果,等完成所有任務之后統一導出或者進行寫入數據庫等其他操作。

爬蟲節點

每個節點上的爬蟲,給17個線程去跑,10個做代理IP的驗證,7個爬數據。若是給10臺辦公室的筆記本安裝軟件,一起去爬數據,那么,就相當于 70人/秒 的速度在訪問這個網站。至此,效率問題也解決了。

總線

總線方面,將任務列表根據下面的節點數進行分配(上圖是之前截的圖,之前是均分出去,后來發現均分的客戶端并不是同時完成,有的快有的慢,結果快的弄完了,就空閑了,慢的還在慢吞吞的跑,所以,之后進行了小劑量分配,變相的達到動態的安排任務量)。

后記

文章到此就基本上結束了,代碼不多,我主要數我的制作思路,因為我的的這個并不具備通用性,驗證碼家家基本都不一樣(一些極度簡單的規規矩矩的純數字或字母驗證碼不算,這類驗證碼跟沒有一樣)。

2018年09月30日

多年后來更新這篇文章:當年萌新的技術缺點

1. 驗證碼識別的方式太辣雞,算法復雜度O(n^2),辣雞中的戰斗雞

2. 采用分布式的思維來做,這點,我很肯定當年的萌新,畢竟是自己想出來的提速方法嘛。也想到了隊列這個概念,現在可以對這里的隊列重新定義一下,可以采用RabbitMQ等中間件來完成分發任務,更可靠也更高效。

3. 感謝當年萌新的徹夜奮斗!

總結

以上是生活随笔為你收集整理的python爬虫ip限制_简单爬虫,突破IP访问限制和复杂验证码,小总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: exo妈妈mv在线播放免费 | 2019国产在线 | 日韩精品人妻一区二区中文字幕 | 久久国产成人精品国产成人亚洲 | 男人操女人的网站 | 香蕉视频在线视频 | 精品欧美乱码久久久久久1区2区 | 日本国产在线 | 在线黄色免费网站 | 无码人妻一区二区三区在线 | 蜜臀av首页| 女同另类之国产女同 | 日本三级小视频 | 黄色小网站入口 | 一级生活毛片 | 秋霞影院午夜伦 | 亚洲欧美精品一区 | 黄色3级视频 | 五月天婷婷社区 | www.av欧美 | 国产a网站 | 一级黄色片免费观看 | 亚洲不卡网 | 成人av免费在线播放 | 伊人www22综合色 | 国语对白清晰刺激对白 | 亚洲精品v | 4色av| 中国毛片基地 | 免费无遮挡无码永久在线观看视频 | 黄色视屏在线 | 毛片的网址 | 欧美婷婷 | 水蜜桃色314在线观看 | 美日韩一区二区 | 国产波霸爆乳一区二区 | 黄色网址在线免费播放 | 亚洲第一中文字幕 | 亚洲黄色小说视频 | 成人免费观看网址 | www.操操操 | 亚洲国产私拍精品国模在线观看 | 久久久蜜桃一区二区人 | 日韩av不卡电影 | 在线观看麻豆视频 | 玖玖精品视频 | 天天综合在线视频 | 亚洲欧美在线免费 | 男人的天堂av网 | 蜜臀视频一区二区 | 日本精品人妻无码免费大全 | 欧美性猛交xxxx乱大交hd | 亚洲高清久久久 | 国产免费看av | 97人人模人人爽人人少妇 | 亚洲精品污一区二区三区 | 日韩在线视频免费播放 | 四虎影院在线免费播放 | 亚洲品质自拍视频 | 日韩精品欧美在线 | 亚洲免费视频网站 | 97人妻精品一区二区三区免费 | 国产a√精品区二区三区四区 | 91蜜桃网| 欧美日韩国语 | 在哪里可以看黄色片 | 成人av在线资源 | 黄色一几片 | 黑人性高潮| 蜜桃av成人| av在线播放免费 | 婷婷色在线观看 | 免费观看高清在线 | 91精品免费看 | 波多野一区二区 | 无码人妻精品一区二区三区不卡 | 性欧美精品| 男男黄色片| 欧美尹人 | 国产精品腿扒开做爽爽爽挤奶网站 | 综合成人 | 国产你懂 | 免费成人一级片 | 欧美第九页 | 好邻居韩国剧在线观看 | 欧美日韩一区二区三 | 国产视频日本 | 伊人逼逼| 粉嫩小泬无遮挡久久久久久 | 少妇极品熟妇人妻无码 | 爽妇网av | 日韩激情一区二区三区 | 亚欧美一区二区三区 | 性色欲网站人妻丰满中文久久不卡 | 欧美精品大片 | 久久免费看少妇 | 婷婷深爱网 | 性色AV无码久久一区二区三 | javxxx|