現(xiàn)在疫情差不多穩(wěn)定了很多人也開始工作,沒工作的也開始找工作,下面呢為學python的同學選取了12個python爬蟲面試題,希望有幫助。
1、簡述一下爬蟲程序執(zhí)行的流程
獲取想要的頁面
根據(jù)規(guī)則進行解析
解析數(shù)據(jù)入庫
2、爬蟲在向數(shù)據(jù)庫存數(shù)據(jù)開始和結束都會發(fā)一條消息,是scrapy 哪個模塊實現(xiàn)的?
答:Item Pipeline scrapy 的信號處理使用的是
3、爬取下來的數(shù)據(jù)如何去重,說一下具體的算法依據(jù)。
通過 MD5 生成電子指紋來判斷頁面是否改變
nutch 去重。nutch 中 digest 是對采集的每一個網(wǎng)頁內容的 32 位哈希值,如果兩個網(wǎng)頁內容完全一樣,它們的 digest值肯定會一樣。
4、寫爬蟲是用多進程好?還是多線程好? 為什么?
5、說一下 numpy 和 pandas 的區(qū)別?分別的應用場景?
Numpy 是 數(shù)值計算 的擴展包,純數(shù)學。
Pandas 做 數(shù)據(jù)處理以矩陣為基礎的數(shù)學計算模塊。提供了一套名為 DataFrame 的數(shù)據(jù)結構,比較契合統(tǒng)計分析中的表結構,并且提供了計算接口,可用 Numpy 或其它方式進行計算
6、驗證碼如何處理
Scrapy 自帶處理驗證碼
獲取到驗證碼圖片的 url, 調用第三方付費接口破解驗證碼
7、微信公眾號數(shù)據(jù)如何抓取?
sogou 微信搜索數(shù)據(jù)
動態(tài)的股票信息如何抓取
8、股票數(shù)據(jù)的獲取目前有如下兩種方法可以獲取:
http/JavaScript 接口取數(shù)據(jù)
web-service 接口
Sina 股票數(shù)據(jù)接口
以大秦鐵路(股票代碼:601006)為例,如果要獲取它的最新行情,只需訪問新浪的股票數(shù)據(jù),只需訪問新浪的股票數(shù)據(jù)接口:hq.sinajs/list=sh具體股票代碼編號
9、爬蟲部署
scrapy 去重
10、分布式有哪些方案,哪一種最好?
celery、beanstalk,gearman
11、個人認為 gearman 比較好。原因主要有以下幾點:
技術類型簡單,維護成本低。
簡單至上。能滿足當前的技術需求即可 (分布式任務處理、異步同步任務同時支持、任務隊列的持久化、維
有成熟的使用案例。instagram 就是使用的 gearman來完成圖片的處理的相關任務,有成功的經(jīng)驗,我們當然應該借鑒。
12、Post 和 Get 區(qū)別
GET 請求的數(shù)據(jù)會暴露在地址欄中,而 POST 請求則不會。
傳輸數(shù)據(jù)的大小
安全性
最后,小編想說:我是一名python開發(fā)工程師,
整理了一套最新的python系統(tǒng)學習教程,
聯(lián)系客服