python面試題——爬蟲相關


1、接觸過幾種爬蟲模塊

  urllib、requests這兩種爬蟲模塊。

2、robots協議是什么?

  它就是一個防君子不防小人的協議,網站有一些數據不想被爬蟲程序爬取,可以編寫robots協議文件,明確指明哪些內容可以爬取哪些不可以爬取。
  requests模塊中並沒有使用硬性的語法對該協議進行生效操作。
  在Scrapy框架中在settings.py文件中使用了硬性語法對該協議進行了生效。

3、如何處理驗證碼?

  使用三方的打碼平台比如:雲打碼平台、打碼兔。可以用來處理驗證碼。

4、掌握幾種數據解析的方式?

  re、xpath(最常用)、bs4(python獨有)

5、如何爬取動態加載的頁面數據?

  selenium; ajax:抓包工具抓取異步發起的請求(url)

6、接觸過哪些反爬機制?如何處理?

  robots協議、UA、封IP、驗證碼、動態數據加載、數據加密、token
  處理:配置不遵守robots協議、偽裝User-Agent、代理IP更換、打碼平台對驗證碼識別、selenium處理或者使用抓包工具去抓取動態加載的AJAX請求數據包、按照已知的各種加密方式進行解密、去前台頁面進行token值的查找手動放入請求攜帶的參數中。

7、在Scrapy中接觸過幾種爬蟲類?

  Spider、CrawlSpider(鏈接提取器和規則解析器)、RedisCrawlSpider、RedisSpider

8、如果實現分布式流程?

  必須要通過scrapy-redis組件來實現,可以由RedisCrawlSpider、RedisSpider這兩種類分別實現。

9、簡述 requests模塊的作用及基本使用?

2、requests模塊參數,data與json參數的區別?

97、簡述 beautifulsoup模塊的作用及基本使用?

98、簡述 seleninu模塊的作用及基本使用?

99、scrapy框架中各組件的工作流程?

100、在scrapy框架中如何設置代理(兩種方法)?

101、scrapy框架中如何實現大文件的下載?

102、scrapy中如何實現限速?

103、scrapy中如何實現暫定爬蟲?

104、scrapy中如何進行自定制命令?

105、scrapy中如何實現的記錄爬蟲的深度?

106、scrapy中的pipelines工作原理?

107、scrapy的pipelines如何丟棄一個item對象?

108、簡述scrapy中爬蟲中間件和下載中間件的作用?

109、scrapy-redis組件的作用?

110、scrapy-redis組件中如何實現的任務的去重?

111、scrapy-redis的調度器如何實現任務的深度優先和廣度優先?

112、簡述 vitualenv 及應用場景?

113、簡述 pipreqs 及應用場景?

114、在Python中使用過什么代碼檢查工具?

115、簡述 saltstack、ansible、fabric、puppet工具的作用?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM