昨天跟各位讀者簡介了反爬蟲技術中,較常出現的驗證碼之應對方法。
今天要跟各位介紹的是其它也是常出現的一些反爬蟲技術。
以下列舉出今天會跟各位介紹的反爬蟲技術。
Request Headers 檢查
使用者操作狀況檢查
資料載入狀況檢查
Request Headers 檢查
有時候被爬取網站會檢測目前請求的 Request Headers ,常見的會看 User-Agent,這個的應對方法也十分容易,就是在 Request Headers 上加入自己在瀏覽器上截取的 User-Agent。
我們在之前的文章也有使用過這個方法。
https://ithelp.ithome.com.tw/articles/10275197
在 Python 的 Requests 庫中只要將 Request Headers 當參數傳入即可。
url = 'https://www.google.com/search?q=%E7%BE%8E%E9%87%91'
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36'
resp = requests.get(url, headers={
'user-agent': user_agent
})
有些被爬取網站會檢查使用者的操作狀況。常見的例如查看向網頁請求的來源 ip 的頻率/次數、查看網頁停留時間/渲染狀況等。
前者有兩種方式來解決。
free proxy list
都能搜尋到許多免費的 proxy 資源,這邊分享一個 https://free-proxy-list.net/
會依照資源載入狀況來進行反爬蟲。
這種會看網頁的渲染狀況的反爬蟲技術可以考慮使用 Requests-HTML 或者 Selenium 來使畫面渲染,達到模擬使用者的效果。
本次介紹了除驗證碼外,其他常見的反爬蟲技術,也列舉了一些常見的應對方案,如果想要更深入了解反爬蟲技術的應對,可以去接觸資安相關的繞過手法。
Free Proxy List : https://free-proxy-list.net/