亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

  發(fā)布時間:2020-10-28 11:33:14   作者:過兒°   我要評論
這篇文章主要介紹了Python面試題爬蟲篇小結(jié)(附答案),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

第一部分 必答題

注意:第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爬蟲工程師面試常見問題,總結(jié)分析了Python爬蟲工程師面試過程中常遇到的各種問題與相應(yīng)知識點,并給出了參考建議,需要的朋友可以參考下
    2019-12-26
  • python爬蟲面試必看的常見問題與參考答案解析

    這篇文章主要介紹了python爬蟲面試必看的常見問題與參考答案,結(jié)合實例形式總結(jié)分析了Python爬蟲面試相關(guān)的Python基礎(chǔ)知識、概念、原理、算法及相關(guān)操作注意事項,需要的朋友
    2019-10-28
  • 關(guān)于Python爬蟲面試170道題(推薦)

    這篇文章主要介紹了關(guān)于Python爬蟲面試170道題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-08-15
  • Python爬蟲工作好做嗎?爬蟲工作發(fā)展前景如何呢?

    準(zhǔn)備從事爬蟲工作,請問python爬蟲工程師在公司具體工作內(nèi)容都是哪些?未來發(fā)展方向呢?這些是很多人所疑慮的,下面就跟隨小編一起來了解一下
    2019-04-15

最新評論