注意:只有必答題部分計算分值,補充題不計算分值。
注意:第31題1分,其他題均每題3分。
了解哪些基於爬蟲相關的模組?
requests、urllib、lxml、bs4、selenium
常見的資料解析方式?
re、lxml、bs4
列舉在爬蟲過程中遇到的哪些比較難的反爬機制?
引數加密、資料加密
簡述如何抓取動態載入資料?
獲取動態ip位址
向動態id傳送請求
移動端資料如何抓取?
抓取過哪些型別的資料,量級多少?
了解哪些爬蟲框架?
scrapy
談談對scrapy的了解?
如何解析出攜帶標籤的區域性頁面資料?
scrapy核心元件?
引擎(egine)、排程器(scheduler)、爬蟲(spiders)、專案管道(item piplines)、爬蟲中介軟體(spider middlewares)
scrapy中介軟體的應用?
如何實現全站資料爬取?
如何檢測**資料更新?
分布式爬蟲實現原理?
如何提公升爬取資料的效率(非同步爬蟲)
列舉你接觸的反爬機制?
ua檢測、封ip、js混淆、引數加密、資料加密
什麼是深度優先和廣度優先(優劣)
scrapy如何實現持久化儲存
存檔案、存資料庫
談談對crawlspider的理解,如何使用其進行深度爬取
如何實現資料清洗?
了解過機器學習嗎?
在爬蟲中為什麼需要是用selenium?selenium和爬蟲之間的關聯是什麼?
列舉你所熟知的selenium模組中的常用方法及其作用
解釋在多工非同步協程中事件迴圈(loop)的作用是什麼?
多工非同步協程是如何實現非同步的?
基於aiohttp模組非同步網路請求實現資料爬取及資料解析
特殊函式:如果async修飾了乙個函式的定義,那麼該函式就變成了乙個特殊函式,
特殊之處:特殊函式被呼叫後函式內部實現語句不會被立即執行
該函式呼叫之後會返回乙個協程物件
協程物件:特殊函式呼叫後可以返回乙個協程物件
協程 == 特殊函式
任務物件:對協程物件的進一步封裝,就是乙個高階協程物件
任務物件 == 協程物件 == 特殊的函式
繫結**:task.add_done_callback(parse) #parse就是乙個**函式
parse的定義:
parse必須又乙個引數,該引數表示的就是**函式對應的任務物件
task.result(): 就是特殊函式的的返回值
事件迴圈物件:可以讓特殊函式內部的語句執行
該物件內部必須註冊的是任務物件,當事件迴圈開啟後其內部註冊的任務物件就可以基於非同步被執行
驗證碼如何處理?
selenium,超級鷹
scrapy 和 scrapy-redis 有什麼區別?
scrapy 是乙個通用的爬蟲框架,其功能比較完善,可以幫你迅速的寫乙個簡單爬蟲,並且跑起來。scrapy-redis是為了更方便地實現scrapy分布式爬取,而提供了一些以redis為基礎的元件
說一說開啟瀏覽器訪問 www.baidu.com
獲取到結果,整個流程。
1.網域名稱解析成ip
2.與目的主機進行tcp連線(三次握手)
3.傳送和接收資料
列出你知道 header 的內容以及資訊
簡述scrapy的去重原理?
排程器(scheduler)用來接受引擎發過來的請求, 壓入佇列中, 並在引擎再次請求的時候返回. 可以想像成乙個url的優先順序佇列, 由它來決定下乙個要抓取的**是什麼, 同時去除重複的**
下列敘述中錯誤的是:(1分)
a.棧是線性結構b.佇列是線性結構c.線性列表是線性結構d.二叉樹是線性結構
簡述前序、中序、後續遍歷?
跟左右左跟右
左右跟寫**:實現乙個氣泡排序。
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))
寫**:實現乙個快速排序。
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
列舉常見用的git命令?
你們公司/團隊用怎麼做的協同開發?
公司如何做**review?誰來做?
線上**如果出現bug如何解決?
git rebase的作用?
Python面試題爬蟲篇 附答案
注意 第31題1分,其他題均每題3分。1,了解哪些基於爬蟲相關的模組?網路請求 urllib,requests,aiohttp 資料解析 re,xpath,bs4,pyquery selenium js逆向 pyexcjs 2,常見的資料解析方式?re lxml bs4 3,列舉在爬蟲過程中遇到的哪...
爬蟲面試python
1.什麼是爬蟲 2.什麼是url 3.scrapy的優缺點 缺點 基於 python 的爬蟲框架,擴充套件性比較差,不夠靈活.4.http和https的區別 5.https如何進行資料傳輸 6.get和post請求的區別 get請求和post請求都是tcp鏈結,本質上並無區別,但是由於http的規定...
Python爬蟲拓展篇
以上內容,不要求全部掌握,但是掌握的越多,那麼你的重要性就越高 二 關於python面試的四點,你做到就萬事大吉了!因為面試的是python爬蟲崗位,面試官大多數會考察面試者的基礎的python知識,包括但不限於 0 python2.x與python3.x的區別 1 python的裝飾器 2 pyt...