乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      金九銀十,你準(zhǔn)備好了嗎?沒(méi)點(diǎn)Python面試題干貨怎么行?(一)

       千鋒Python學(xué)堂 2019-09-11

      職場(chǎng)人沒(méi)有不知道:金三銀四,金九銀十 的說(shuō)法兒吧,今天干貨奉上,100個(gè)Python面試高頻題目。

      金九銀十,你準(zhǔn)備好了嗎?沒(méi)點(diǎn)Python面試題干貨怎么行?(一)

      一. 遇到過(guò)得反爬蟲(chóng)策略以及解決方法?

      1.通過(guò)headers反爬蟲(chóng)

      2.基于用戶(hù)行為的發(fā)爬蟲(chóng):(同一IP短時(shí)間內(nèi)訪(fǎng)問(wèn)的頻率)

      3.動(dòng)態(tài)網(wǎng)頁(yè)反爬蟲(chóng)(通過(guò)ajax請(qǐng)求數(shù)據(jù),或者通過(guò)JavaScript生成)

      4.對(duì)部分?jǐn)?shù)據(jù)進(jìn)行加密處理的(數(shù)據(jù)是亂碼)

      解決方法:

      對(duì)于基本網(wǎng)頁(yè)的抓取可以自定義headers,添加headers的數(shù)據(jù)

      使用多個(gè)代理ip進(jìn)行抓取或者設(shè)置抓取的頻率降低一些,

      動(dòng)態(tài)網(wǎng)頁(yè)的可以使用selenium + phantomjs 進(jìn)行抓取

      對(duì)部分?jǐn)?shù)據(jù)進(jìn)行加密的,可以使用selenium進(jìn)行截圖,使用python自帶的pytesseract庫(kù)進(jìn)行識(shí)別,但是比較慢最直接的方法是找到加密的方法進(jìn)行逆向推理。

      二. urllib 和 urllib2 的區(qū)別?

      • urllib 和urllib2都是接受URL請(qǐng)求的相關(guān)模塊,但是urllib2可以接受一個(gè)Request類(lèi)的實(shí)例來(lái)設(shè)置URL請(qǐng)求的headers,urllib僅可以接受URL。urllib不可以偽裝你的User-Agent字符串。

      • urllib提供urlencode()方法用來(lái)GET查詢(xún)字符串的產(chǎn)生,而urllib2沒(méi)有。這是為何urllib常和urllib2一起使用的原因。

      三. 列舉網(wǎng)絡(luò)爬蟲(chóng)所用到的網(wǎng)絡(luò)數(shù)據(jù)包,解析包?

      • 網(wǎng)絡(luò)數(shù)據(jù)包 urllib、urllib2、requests

      • 解析包 re、xpath、beautiful soup、lxml

      四. 簡(jiǎn)述一下爬蟲(chóng)的步驟?

      1. 確定需求;

      2. 確定資源;

      3. 通過(guò)url獲取網(wǎng)站的返回?cái)?shù)據(jù);

      4. 定位數(shù)據(jù);

      5. 存儲(chǔ)數(shù)據(jù)。

      五. 遇到反爬機(jī)制怎么處理?

      反爬機(jī)制:

      headers方向

      判斷User-Agent、判斷Referer、判斷Cookie。

      將瀏覽器的headers信息全部添加進(jìn)去

      注意:Accept-Encoding;gzip,deflate需要注釋掉

      六. 常見(jiàn)的HTTP方法有哪些?

      • GET:請(qǐng)求指定的頁(yè)面信息,返回實(shí)體主體;

      • HEAD:類(lèi)似于get請(qǐng)求,只不過(guò)返回的響應(yīng)中沒(méi)有具體的內(nèi)容,用于捕獲報(bào)頭;

      • POST:向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(比如表單提交或者上傳文件),。數(shù)據(jù)被包含在請(qǐng)求體中。

      • PUT:從客戶(hù)端向服務(wù)端傳送數(shù)據(jù)取代指定的文檔的內(nèi)容;

      • DELETE:請(qǐng)求刪除指定的頁(yè)面;

      • CONNNECT:HTTP1.1協(xié)議中預(yù)留給能夠?qū)⑦B接方式改為管道方式的代理服務(wù)器;

      • OPTIONS:允許客戶(hù)端查看服務(wù)器的性能;

      • TRACE:回顯服務(wù)器的請(qǐng)求,主要用于測(cè)試或者診斷。

      七. 說(shuō)一說(shuō)redis-scrapy中redis的作用?

      它是將scrapy框架中Scheduler替換為redis數(shù)據(jù)庫(kù),實(shí)現(xiàn)隊(duì)列管理共享。

      優(yōu)點(diǎn):

      1. 可以充分利用多臺(tái)機(jī)器的帶寬;

      2. 可以充分利用多臺(tái)機(jī)器的IP地址。

      八. 遇到的反爬蟲(chóng)策略以及解決方法?

      1. 通過(guò)headers反爬蟲(chóng):自定義headers,添加網(wǎng)頁(yè)中的headers數(shù)據(jù)。

      2. 基于用戶(hù)行為的反爬蟲(chóng)(封IP):可以使用多個(gè)代理IP爬取或者將爬取的頻率降低。

      3. 動(dòng)態(tài)網(wǎng)頁(yè)反爬蟲(chóng)(JS或者Ajax請(qǐng)求數(shù)據(jù)):動(dòng)態(tài)網(wǎng)頁(yè)可以使用 selenium + phantomjs 抓取。

      4. 對(duì)部分?jǐn)?shù)據(jù)加密處理(數(shù)據(jù)亂碼):找到加密方法進(jìn)行逆向推理。

      九. 如果讓你來(lái)防范網(wǎng)站爬蟲(chóng),你應(yīng)該怎么來(lái)提高爬取的難度 ?

      1. 判斷headers的User-Agent;

      2. 檢測(cè)同一個(gè)IP的訪(fǎng)問(wèn)頻率;

      3. 數(shù)據(jù)通過(guò)Ajax獲??;

      4. 爬取行為是對(duì)頁(yè)面的源文件爬取,如果要爬取靜態(tài)網(wǎng)頁(yè)的html代碼,可以使用jquery去模仿寫(xiě)html。

      十. scrapy分為幾個(gè)組成部分?分別有什么作用?

      分為5個(gè)部分;Spiders(爬蟲(chóng)類(lèi)),Scrapy Engine(引擎),Scheduler(調(diào)度器),Downloader(下載器),Item Pipeline(處理管道)。

      • Spiders:開(kāi)發(fā)者自定義的一個(gè)類(lèi),用來(lái)解析網(wǎng)頁(yè)并抓取指定url返回的內(nèi)容。

      • Scrapy Engine:控制整個(gè)系統(tǒng)的數(shù)據(jù)處理流程,并進(jìn)行事務(wù)處理的觸發(fā)。

      • Scheduler:接收Engine發(fā)出的requests,并將這些requests放入到處理列隊(duì)中,以便之后engine需要時(shí)再提供。

      • Download:抓取網(wǎng)頁(yè)信息提供給engine,進(jìn)而轉(zhuǎn)發(fā)至Spiders。

      • Item Pipeline:負(fù)責(zé)處理Spiders類(lèi)提取之后的數(shù)據(jù)。

      • 比如清理HTML數(shù)據(jù)、驗(yàn)證爬取的數(shù)據(jù)(檢查item包含某些字段)、查重(并丟棄)、將爬取結(jié)果保存到數(shù)據(jù)庫(kù)中

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多