Python面試題爬蟲篇小結(jié)(附答案)

第一部分 必答題
注意:第31題1分,其他題均每題3分。
1,了解哪些基于爬蟲相關(guān)的模塊?
- 網(wǎng)絡(luò)請求:urllib,requests,aiohttp
- 數(shù)據(jù)解析:re,xpath,bs4,pyquery
- selenium - js逆向:pyexcJs
2,常見的數(shù)據(jù)解析方式?
- re、lxml、bs4
3,列舉在爬蟲過程中遇到的哪些比較難的反爬機制?
- 動態(tài)加載的數(shù)據(jù)
- 動態(tài)變化的請求參數(shù)
- js加密
- 代理
- cookie
4,簡述如何抓取動態(tài)加載數(shù)據(jù)?
- 基于抓包工具進行全局搜索
- 如果動態(tài)加載的數(shù)據(jù)是密文,則全局搜索是搜索不到
5,移動端數(shù)據(jù)如何抓取?
- fiddler,appnium,網(wǎng)絡(luò)配置
6,抓取過哪些類型的數(shù)據(jù),量級多少?
- 電商,醫(yī)療器械,彩妝,新聞資訊,金融,體育賽事(參考hao123網(wǎng)站)
- 量級:
- 最好不要超過100w。自己計算(頁數(shù),一頁顯示多少數(shù)據(jù))
7,了解哪些爬蟲框架?
- scrapy,pyspider
8,談?wù)剬crapy的了解?
- 功能:數(shù)據(jù)解析,持久化存儲,深度爬取,分布式,關(guān)鍵件
- 五大核心組件的作用和工作流程
9,如何解析出攜帶標(biāo)簽的局部頁面數(shù)據(jù)?
- bs4
10,scrapy核心組件?
- spider,引擎,調(diào)度器,下載器,管道
11,scrapy中間件的應(yīng)用?
- 作用:攔截請求和響應(yīng)
- 攔截請求:設(shè)置代理
12,如何實現(xiàn)全站數(shù)據(jù)爬???
- 基于手動請求發(fā)送+遞歸解析
- 基于CrwalSpider(LinkExtractor,Rule)
13,如何檢測網(wǎng)站數(shù)據(jù)更新?
- 增量式爬蟲
14,分布式爬蟲實現(xiàn)原理?
- 基于scrapy-redis實現(xiàn)的分布式。
15,如何提升爬取數(shù)據(jù)的效率(異步爬蟲)
- 使用框架
- 線程池,多任務(wù)的異步協(xié)程
- 分布式
16,列舉你接觸的反爬機制?
ua檢測、封ip、js混淆、參數(shù)加密、數(shù)據(jù)加密,動態(tài)加載
17,什么是深度優(yōu)先和廣度優(yōu)先(優(yōu)劣)
- 默認(rèn)情況下scrapy是深度優(yōu)先。
- 深度優(yōu)先:占用空間大,但是運行速度快
- 廣度優(yōu)先:占用空間少,運行速度慢
18,scrapy如何實現(xiàn)持久化存儲
- 解析數(shù)據(jù)
- 將解析的數(shù)據(jù)封裝到item中
- 將item提交管道
- 在管道中持久化存儲
- 開啟管道
19,談?wù)剬rawlspider的理解,如何使用其進行深度爬取
- 鏈接提取器&規(guī)則解析器
20,如何實現(xiàn)數(shù)據(jù)清洗?
- 清洗空值(缺失值)
- 將空對應(yīng)的行數(shù)據(jù)刪除.dropna
- 使用近鄰值填充空值.fillna
- 清洗重復(fù)值
- 重復(fù)的行數(shù)據(jù)刪除:drop_duplicates()
- 清洗異常值
- 一定要有一個判定異常值的條件
21,了解過機器學(xué)習(xí)嗎?
- 特征工程
- 特征預(yù)處理
- 歸一化,標(biāo)準(zhǔn)化
- 特征值化
- 將非數(shù)值型的數(shù)據(jù)轉(zhuǎn)換成數(shù)值型的數(shù)據(jù)
- 降維
- sklean框架
- 線性回歸,KNN,貝葉斯
- 補充: 1.樹模型:決策樹 2.集成模型:隨機森林
- 深度學(xué)習(xí)框架:
- tensorflow
22,在爬蟲中為什么需要是用selenium?selenium和爬蟲之間的關(guān)聯(lián)么?
selenium和爬蟲之間的關(guān)聯(lián)是什么?
- - 爬取動態(tài)加載的數(shù)據(jù)
- - 模擬登錄
23,列舉你所熟知的selenium模塊中的常用方法及其作用
24,解釋在多任務(wù)異步協(xié)程中事件循環(huán)(loop)的作用是什么?
- 可以將注冊在其內(nèi)部的任務(wù)對象表示的特定操作進行異步執(zhí)行
25,多任務(wù)異步協(xié)程是如何實現(xiàn)異步的?
- 一個任務(wù)對象就是一個協(xié)程也是一組特定的操作,將任務(wù)對象注冊到事件循環(huán)中,就可以異步的執(zhí)行每一組特定的操作
- wait方法,await關(guān)鍵字
26,驗證碼如何處理?
- 打碼平臺
27,scrapy 和 scrapy-redis 有什么區(qū)別?
- scrapy-redis這個組件可以給scrapy框架提供共享的管道和調(diào)度器實現(xiàn)分布式爬蟲
28,說一說打開瀏覽器訪問 http://chabaoo.cn 獲取到結(jié)果,整個流程。
1.域名解析成IP
2.與目的主機進行TCP連接(三次握手)
3.發(fā)送和接收數(shù)據(jù)
29,列出你知道 header 的內(nèi)容以及信息
- User-Agent
- Connection
30,簡述scrapy的去重原理?
需要將dont_filter設(shè)置為False開啟去重,默認(rèn)是False;對于每一個url的請求,調(diào)度器都會根據(jù)請求的相關(guān)信息加密得到一個指紋信息,并且將指紋信息和set()集合中得指紋信息進行比對,如果set()集合中已經(jīng)存在這個數(shù)據(jù),就不在將這個Request放入隊列中。如果set()集合中沒有,就將這個Request對象放入隊列中,等待被調(diào)度。
31,下列敘述中錯誤的是:(1分)
A.棧是線性結(jié)構(gòu) B.隊列是線性結(jié)構(gòu)
C.線性列表是線性結(jié)構(gòu) D.二叉樹是線性結(jié)構(gòu)
32,簡述前序、中序、后續(xù)遍歷?
跟左右
左跟右
左右跟
33,寫代碼:實現(xiàn)一個冒泡排序。
def sort(alist): length = len(alist) for j in range(length-1) for i in range(length-1-j): if alist[i] > alist[i+1]: alist[i],alist[i+1] = alist[i+1],alist[i] return alist alist = [3,8,5,2,0,7,6] print(sort(alist))
34,寫代碼:實現(xiàn)一個快速排序。
def sort(alist,left,right): low = left hight = right if low < high: return mid = alist[low] while low < high: while low < high: if alist[high] < mid: alist[low] = alist[high] break else: high -= 1 while low < high: if alist[low] < mid: low += 1 else: alist[high] = alist[low] break if low == high: alist[low] = mid sort(alist,left,low-1) sort(alist,high+1,right) return alist
1,列舉常見用的git命令?
2,你們公司/團隊用怎么做的協(xié)同開發(fā)?
3,公司如何做代碼review?誰來做?
4,線上代碼如果出現(xiàn)bug如何解決?
5,git rebase的作用?
到此這篇關(guān)于Python面試題爬蟲篇小結(jié)(附答案)的文章就介紹到這了,更多相關(guān)Python爬蟲面試題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
- 這篇文章主要介紹了Python爬蟲工程師面試常見問題,總結(jié)分析了Python爬蟲工程師面試過程中常遇到的各種問題與相應(yīng)知識點,并給出了參考建議,需要的朋友可以參考下2019-12-26
- 這篇文章主要介紹了python爬蟲面試必看的常見問題與參考答案,結(jié)合實例形式總結(jié)分析了Python爬蟲面試相關(guān)的Python基礎(chǔ)知識、概念、原理、算法及相關(guān)操作注意事項,需要的朋友2019-10-28
- 這篇文章主要介紹了關(guān)于Python爬蟲面試170道題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-08-15
Python爬蟲工作好做嗎?爬蟲工作發(fā)展前景如何呢?
準(zhǔn)備從事爬蟲工作,請問python爬蟲工程師在公司具體工作內(nèi)容都是哪些?未來發(fā)展方向呢?這些是很多人所疑慮的,下面就跟隨小編一起來了解一下2019-04-15