999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python反爬蟲設計

2020-07-29 10:31:30胡立
計算機與網絡 2020年11期
關鍵詞:程序內容用戶

胡立

隨著大數據時代的來臨,無論是個人還是企業,對于數據的需求都越來越大。這種需求催生了如今異常熱門的數據產業,也催生了日益完善的網絡數據采集技術。這種需求擴大的同時也讓網絡爬蟲日益猖獗,甚至影響到了網站和APP的正常運行,高頻的網絡爬蟲行為無異于分布式拒絕服務(DDoS)攻擊。

為什么要反爬蟲

在設計反爬蟲系統之前,我們先來看看爬蟲會給網站帶來什么問題?

本質上來說,互聯網上可以供人們瀏覽、查看和使用的網站及其網站上的數據,都是公開和允許獲取的,所以并不存在所謂的非法授權訪問問題。

爬蟲程序訪問網頁和人訪問網頁沒有本質區別,都是由客戶端向網站服務器發起HTTP請求,網站服務器接收到請求之后將內容響應返回給客戶端。只要是發起請求,網站服務器必然要進行響應,那必然要消耗服務器的資源。

網站的訪問者與網站之間是互惠互利的關系,網站為訪問者提供了自己所需要的必要信息和服務,而訪問者也為網站帶來了流量、訪客和活躍度。所以網站的所有者愿意消耗服務器的帶寬、磁盤和內存,為訪問者提供服務。

而爬蟲程序呢?無異于“吃白食”,成倍地消耗網站服務器資源、占用服務器帶寬,卻不會為網站帶來一絲的利益,甚至還會有損于網站本身。

識別爬蟲

既然討厭爬蟲,就要將爬蟲拒之于網站之外,但是要拒絕爬蟲的訪問,首先當然要識別出網絡訪問者中的爬蟲程序,那么如何識別呢?

1. HTTP請求頭

這算是最基礎的網絡爬蟲識別,正常的網絡訪問者都是通過瀏覽器對網站進行訪問的。而瀏覽器都會帶上自己的請求頭以表明自己的基礎信息。而這也是最容易被爬蟲程序突破的識別手段,因為HTTP請求頭誰都可以進行修改和偽造。

2. Cookie值

Cookie通常用來標識網站訪問者的身份,就像一張臨時憑證,憑借這個憑證與網站服務器進行身份校對,由于Cookie是保存在客戶端的數據,因此也可以被修改和偽造。

3.訪問頻率

如果一個訪問者,每隔1 s請求訪問一次網站的某個頁面,或者一秒鐘請求了幾百次這個頁面。這個訪問者就很可能是爬蟲程序,試問有誰能如此快速頻繁地點擊鼠標訪問一個頁面?

通過訪問頻率識別爬蟲程序是可行的,但是爬蟲程序也能通過使用大量的代理IP來實現一個IP地址只訪問一次的效果,還可以通過隨機的請求時間間隔規避識別。

4.鼠標行為軌跡

正常人類訪問者瀏覽網頁勢必不會像機器一樣,機械地移動和點擊鼠標。而鼠標的移動和點擊,是可以通過JS腳本捕獲的,所以可以通過判斷訪問者的鼠標行為軌跡來判斷訪問者是否為爬蟲程序。

5. token值

現在很多網站都是前后端分離開發的,數據通過后端接口返回給前端,前端拿到數據再結合頁面進行渲染,所以很多爬蟲程序都直接找數據接口,而不是請求頁面。token用在驗證這些后端數據接口上,一般通過網頁上的某個密鑰加上時間和某些數據組合加密而成。

但遺憾的是,上述任何一種識別爬蟲的手段,都有可能被爬蟲繞過和突破。

拒絕爬蟲

就像沒有一勞永逸的網站安全防護一樣,10年前把3389端口一關,就能防止服務器成為肉雞,如今各種防火墻、安全措施都加上了,還有可能因為某個0Day漏洞被勒索。

爬蟲與反爬蟲之間,也永遠都在斗爭和升級,所不同的是,網絡攻防是放開手腳的無限制級格斗,而反爬蟲則是帶著拳套和頭盔的拳擊比賽。

網站為了運營,勢必要對外開放內容,而開放的內容就像是飄忽在非洲大草原的腐肉,吸引著鬣狗的到來,在開放內容和避免淪為爬蟲的數據礦池之間平衡,是一個難事。

1.內容上限制內容的開放

開放的內容是獲取用戶、流量的基礎。但是內容的開放并不是無限制的,非注冊用戶可以看到一篇內容、兩篇內容,但是不能無限制地看到內容。這個限制,可以是要求登錄、掃碼驗證或者接入谷歌驗證碼之類的點擊驗證機制。

現在越來越多的網站采用了有限內容開放的機制,比如微博、知乎和淘寶等,游客可以看到1~2頁的內容,但是如果還想繼續,請先登錄。

2.行為上記錄用戶操作

需要訪問者進行登錄并不能解決問題,因為模擬登錄一直是網絡爬蟲程序的一個熱門發展分支,無論是圖片驗證碼、拼圖、滑塊還是點選漢字,都會被突破。甚至于短信驗證碼都可以通過編寫APP與爬蟲程序和網站之間進行通信。

所以記錄用戶行為必不可少,用戶的一切操作和訪問行為都需要記錄在案,這是分析和處理爬蟲的基礎。

3.控制上嚴厲打擊高頻行為

從實際來看,也有很多爬蟲程序的運行并非是為了往死里薅網站的數據和內容,其僅是為了方便進行手工收集和整理工作,這種類型的爬蟲行為一般會比人工瀏覽的頻次要高,但是又明顯低于鬣狗般的高頻爬蟲,對這種類型的爬蟲行為可以忽略。

但是對于影響網站服務器運行的高頻爬蟲行為,必須采取措施,結合用戶和IP信息,對相關用戶或IP進行處理。

4.協議里申明權利

網站的所有者必須在網站協議或用戶協議中申明,允許正常的瀏覽、訪問和數據獲取,對于異常、高頻和威脅網站服務器穩定的行為,將保留進一步處理的權利。

沒有一個城池是固若金湯的,也沒有一個措施可以阻擋所有瘋狂的爬蟲。面對爬蟲的行為,利用各種技術建立一個行之有效的識別、分級和處理機制,才能同時兼顧網站的開放和穩定。

猜你喜歡
程序內容用戶
內容回顧溫故知新
科學大眾(2022年11期)2022-06-21 09:20:52
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
主要內容
臺聲(2016年2期)2016-09-16 01:06:53
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 日本三级欧美三级| 热伊人99re久久精品最新地| 国产精品xxx| 国产v精品成人免费视频71pao| 网友自拍视频精品区| 乱人伦视频中文字幕在线| 国产成人乱无码视频| 国产精品一区二区久久精品无码| 国产精品免费久久久久影院无码| 一区二区三区国产精品视频| 午夜国产精品视频| 欧美一级夜夜爽www| 久久久久无码精品| 人妻丝袜无码视频| 国产夜色视频| 自拍偷拍欧美| 女同国产精品一区二区| 强乱中文字幕在线播放不卡| 欧洲极品无码一区二区三区| 青青青视频91在线 | 精品伊人久久久久7777人| 丁香五月激情图片| 久久久久久高潮白浆| 国产精品香蕉| 欧美日本在线| 亚洲天堂伊人| 国产迷奸在线看| 亚洲激情99| 婷婷色在线视频| 十八禁美女裸体网站| 色婷婷色丁香| 亚洲香蕉伊综合在人在线| 99精品国产自在现线观看| 精品久久综合1区2区3区激情| 国产成人乱无码视频| 尤物精品视频一区二区三区| 麻豆AV网站免费进入| 中文成人在线| 国产成人91精品免费网址在线| 麻豆国产精品视频| 久久公开视频| 一级片免费网站| 色网站在线免费观看| 欧美激情综合一区二区| 人妻中文字幕无码久久一区| 97在线观看视频免费| 国产精品七七在线播放| 97成人在线观看| 日本少妇又色又爽又高潮| 青青操视频在线| 国产亚洲精品在天天在线麻豆| 91亚洲国产视频| 日韩午夜片| 欧美不卡在线视频| 她的性爱视频| 国产精品亚洲五月天高清| 国产精品福利尤物youwu| 亚洲色欲色欲www网| 一级毛片免费高清视频| 91免费国产高清观看| 美女无遮挡免费网站| 又爽又大又光又色的午夜视频| 欧美成一级| 天天综合网站| 日韩精品欧美国产在线| 日韩成人在线网站| 国产小视频a在线观看| 国产黄网永久免费| 在线观看国产小视频| 丁香六月综合网| 亚洲国产精品国自产拍A| Aⅴ无码专区在线观看| 国内精品伊人久久久久7777人| 2021精品国产自在现线看| 中文字幕亚洲另类天堂| 亚洲欧美不卡中文字幕| 国产成人精品在线| 99精品国产高清一区二区| 六月婷婷精品视频在线观看| 操国产美女| 亚洲av无码成人专区| 国产在线观看91精品|