職場人沒有不知道:金三銀四,金九銀十 的說法兒吧,今天干貨奉上,100個Python面試高頻題目。 一. 遇到過得反爬蟲策略以及解決方法? 1.通過headers反爬蟲 2.基于用戶行為的發(fā)爬蟲:(同一IP短時間內訪問的頻率) 3.動態(tài)網(wǎng)頁反爬蟲(通過ajax請求數(shù)據(jù),或者通過JavaScript生成) 4.對部分數(shù)據(jù)進行加密處理的(數(shù)據(jù)是亂碼) 解決方法: 對于基本網(wǎng)頁的抓取可以自定義headers,添加headers的數(shù)據(jù) 使用多個代理ip進行抓取或者設置抓取的頻率降低一些, 動態(tài)網(wǎng)頁的可以使用selenium + phantomjs 進行抓取 對部分數(shù)據(jù)進行加密的,可以使用selenium進行截圖,使用python自帶的pytesseract庫進行識別,但是比較慢最直接的方法是找到加密的方法進行逆向推理。 二. urllib 和 urllib2 的區(qū)別?
三. 列舉網(wǎng)絡爬蟲所用到的網(wǎng)絡數(shù)據(jù)包,解析包?
四. 簡述一下爬蟲的步驟?
五. 遇到反爬機制怎么處理? 反爬機制: headers方向 判斷User-Agent、判斷Referer、判斷Cookie。 將瀏覽器的headers信息全部添加進去 注意:Accept-Encoding;gzip,deflate需要注釋掉 六. 常見的HTTP方法有哪些?
七. 說一說redis-scrapy中redis的作用? 它是將scrapy框架中Scheduler替換為redis數(shù)據(jù)庫,實現(xiàn)隊列管理共享。 優(yōu)點:
八. 遇到的反爬蟲策略以及解決方法?
九. 如果讓你來防范網(wǎng)站爬蟲,你應該怎么來提高爬取的難度 ?
十. scrapy分為幾個組成部分?分別有什么作用? 分為5個部分;Spiders(爬蟲類),Scrapy Engine(引擎),Scheduler(調度器),Downloader(下載器),Item Pipeline(處理管道)。
|
|
來自: 千鋒Python學堂 > 《Python基礎教程分享》