Python網(wǎng)絡(luò)爬蟲技術(shù)項(xiàng)目教程 練習(xí)題及答案_第1頁
Python網(wǎng)絡(luò)爬蟲技術(shù)項(xiàng)目教程 練習(xí)題及答案_第2頁
Python網(wǎng)絡(luò)爬蟲技術(shù)項(xiàng)目教程 練習(xí)題及答案_第3頁
Python網(wǎng)絡(luò)爬蟲技術(shù)項(xiàng)目教程 練習(xí)題及答案_第4頁
Python網(wǎng)絡(luò)爬蟲技術(shù)項(xiàng)目教程 練習(xí)題及答案_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第一章爬取靜態(tài)網(wǎng)頁一、選擇題1.下列哪個(gè)是Request的安裝命令?A.pipinstallRequests B.yuminstallRequestsC.piplist D.rpmRequests2.下列哪個(gè)屬于Request的請求?A.RookieB.TestC.PostD.Session3.以下關(guān)于BeautifulSoupfind方法說法正確的是()A.BeautifulSoup是一個(gè)可以從HTML或XML文件中提取數(shù)據(jù)的Python庫B.BeautifulSoup是一個(gè)C++庫C.BeautifulSoup是支持C語言調(diào)用D.BeautifulSoup是支持Java語言調(diào)用4.以下選項(xiàng)中不是Python數(shù)據(jù)分析的第三方庫的是()A.numpyB.scipyC.pandasD.requests5.對Scrapy描述正確的是()A.一個(gè)Scrapy項(xiàng)目只能創(chuàng)建一個(gè)爬蟲B.一個(gè)Scrapy項(xiàng)目只能使用一管道C.爬蟲與管道之間傳遞數(shù)據(jù)不使用item子類D.爬蟲與管道之間傳遞數(shù)據(jù)使用item子類簡答題1.請簡述Requests的基本功能2.Cookies的定義?3.簡述從Response對象(r)中可以獲取到的內(nèi)容4.簡述一下BeautifulSoup的作用5.簡述Scrapy架構(gòu)中包含的組件第二章爬取動態(tài)網(wǎng)頁一、選擇題1.下列關(guān)于scrapy爬蟲的表述有誤的是()A.Scrapy可用XPath表達(dá)式分析頁面結(jié)構(gòu) B.Scrapy可以用于數(shù)據(jù)挖掘、監(jiān)測和自動化測試C.Scrapy源碼中默認(rèn)callback函數(shù)的函數(shù)名就是parse D.Scrapy使用了Twisted同步網(wǎng)絡(luò)庫來處理網(wǎng)絡(luò)通訊2.下列關(guān)于JSON支持是的數(shù)據(jù)結(jié)構(gòu),哪項(xiàng)是不正確的是?()A.名/值對集合:這一數(shù)據(jù)結(jié)構(gòu)由不同的鍵值對組成。B.無序的對象結(jié)構(gòu):多個(gè)名稱/值構(gòu)成的封裝體,類似字典表。C.有序的對象結(jié)構(gòu):規(guī)整的文本文檔、Execl等D.有序的值列表:包括數(shù)組,列表,向量或序列等等。3.下列哪個(gè)不屬于JSON的數(shù)據(jù)類型()A.NumberB.StringC.CharD.Value4.下列關(guān)于loads轉(zhuǎn)化JSON數(shù)據(jù)轉(zhuǎn)換為Python對象,錯(cuò)誤的是()A.object–dictB.array–stringC.number(int)–int、longD.true--True5.下列對WebDriver=組件,說法錯(cuò)的是:A.API:應(yīng)用程序編程接口。這是一組用來操作WebDriver的“命令”。B.庫:一個(gè)代碼模塊,它只包含api和實(shí)現(xiàn)這些api所需的代碼。C.驅(qū)動程序:負(fù)責(zé)控制實(shí)際的瀏覽器。大多數(shù)驅(qū)動程序是由瀏覽器廠商自己創(chuàng)建的。驅(qū)動程序通常不是是與瀏覽器一起在系統(tǒng)上運(yùn)行的可執(zhí)行模塊,而是在執(zhí)行測試套件的系統(tǒng)上。D.框架:用于支持WebDriver套件的附加庫。二、簡答題1.簡述JSON對象的書寫方式2.簡述JSON的基本概念3.PhantomJS的特點(diǎn)4.簡述Selenium框架的作用5.簡述WebDriver的定位策略第三章爬取APP數(shù)據(jù)一、選擇題1.以下哪一個(gè)功能面板不屬于Fiddler的主界面面板() A.工具面板B.監(jiān)控面板C.通訊面板D.狀態(tài)面板2.以下哪一個(gè)是Windows查看IP地址的命令() A.ipconfigB.ifconfigC.ipaddrD.ipaddrroute3.對Http請求方式描述正確的是() A.POST請求可以傳遞大于2M的數(shù)據(jù)B.GET請求可以傳遞大于2M的數(shù)據(jù)C.POST請求可以傳遞沒有限制D.GET請求可以傳遞沒有限制4.以下關(guān)于http協(xié)議響應(yīng)行中狀態(tài)碼說法正確的是() A.200表示正常B.403表示請求資源未找到C.404表示請求資源無權(quán)訪問D.500請求方法不正確5.捕獲通過HTTPS發(fā)送的數(shù)據(jù),需要啟用HTTPS流量解密。配置項(xiàng)位于() A.Tools>Options>GeneralB.Tools>Options>HTTPSC.Tools>Options>AppearanceD.Tools>Options>Tools二、簡答題1.簡述Fiddler的功能2.Fiddler的主界面監(jiān)控面板中,Web會話性能統(tǒng)計(jì)信息可以直接在監(jiān)控面板中的什么窗口查看?3.Fiddler的主界面監(jiān)控面板中,Web網(wǎng)絡(luò)會話內(nèi)容可以直接在監(jiān)控面板中的什么窗口查看?4.查看一個(gè)或多個(gè)Web會話的傳輸時(shí)間線的瀑布圖可以直接在監(jiān)控面板中的什么窗口查看?5.簡述Fiddler的主界面面板第四章反爬蟲策略以及解決辦法一、選擇題1.以下哪一種是教材中未提及的反爬蟲策略?() A.Headers; B.Cookies; C.Proxies; D.Socket;2.Headers的()自動保存并設(shè)置鏈路? A.User-Agent B.Referer C.get D.url3.在爬取有些網(wǎng)頁是要求登錄之后的才能爬取,所以要和服務(wù)器一直保持登錄狀態(tài),有時(shí)的策略不都指定cookies,而是會使用()來完成 A.requestsB.post請求C.headerD.session4.哪個(gè)方法不適合應(yīng)對服務(wù)器封禁IP()? A.使用靜態(tài)IP B.做更完善的設(shè)置,避免瀏覽器識別并封禁IPC.使用代理IPD.設(shè)置好訪問時(shí)間間隔,避免服務(wù)器壓力過大5.Pytesseract具有的函數(shù)中,其中最常用,也最直接識別驗(yàn)證碼的函數(shù)是:? A.get_languages B.image_to_boxes C.image_to_string D.image_to_alto_xml二、簡答題1.簡述三種反爬蟲策略以及其反爬策略內(nèi)容2.簡單介紹Tesseract,并列舉出Pytesseract的函數(shù)第五章反爬策略優(yōu)化一、選擇題1.以下哪一個(gè)不屬于Redis的value數(shù)據(jù)類型A.StringB.ListC.DictD.Hash2.以下關(guān)于RedisKeys命令組的基本命令描述錯(cuò)誤的是() A.DUMPkey-----廢除key所對應(yīng)的鍵值對 B.EXISTSkey[key...]-----查詢一個(gè)key是否存在 C.EXPIREkeyseconds-----設(shè)置一個(gè)key的過期的秒數(shù) D.DELkey-----刪除指定的key(一個(gè)或多個(gè))二、簡答題1.程序連接了Redis后,就可以使用API操作Redis中的數(shù)據(jù),其中:set(name,value,ex=None,px=None,nx=False,xx=False),參數(shù)分別代表什么意思2.簡述Redis的列表第一章爬取靜態(tài)網(wǎng)頁一、選擇題1.A2.C3.A4.D5.D簡答題1.請簡述Requests的基本功能Requests是一個(gè)基于Apache2協(xié)議開源的PythonHTTP庫,號稱是“為人類準(zhǔn)備的HTTP庫”。以上是Requests官網(wǎng)對其模塊的總體介紹。Requests完全滿足當(dāng)今Web的需求:Keep-Alive&連接池國際化域名和URL帶持久Cookie的會話瀏覽器式的SSL認(rèn)證自動內(nèi)容解碼基本/摘要式的身份認(rèn)證優(yōu)雅的key/valueCookie自動解壓Unicode響應(yīng)體HTTP(S)代理支持文件分塊上傳流下載連接超時(shí)分塊請求支持.netrc2.Cookies的定義?Cookie是請求頭的一部分,同時(shí)也web瀏覽器的憑證,根據(jù)實(shí)際情況,有時(shí)候要指定Cookie參數(shù),requests將Cookie從中剝離出來,可以使用cookies參數(shù)直接指定。3.簡述從Response對象(r)中可以獲取到的內(nèi)容從Response對象(r)中可以獲取到:實(shí)際請求的URL:r.url推測的文本編碼:r.encoding二進(jìn)制相應(yīng)內(nèi)容:r.contentJSON相應(yīng)內(nèi)容:r.json()原始相應(yīng)內(nèi)容:r.raw響應(yīng)狀態(tài)碼:r.status_code響應(yīng)頭:r.headersCookie:r.cookies響應(yīng)歷史:r.history4.簡述一下BeautifulSoup的作用 BeautifulSoup是一個(gè)HTML/XML的解析器,主要的功能是解析和提取HTML/XML數(shù)據(jù)。BeautifulSoup支持Python標(biāo)準(zhǔn)庫中的HTML解析器,還支持一些第三方的解析器。通常情況下我們不會使用Python默認(rèn)的解析器,而是使用lxml解析器,lxml解析器更加強(qiáng)大,速度更快,推薦使用lxml解析器。5.簡述Scrapy架構(gòu)中包含的組件引擎(ScrapyEngine)

用來處理整個(gè)系統(tǒng)的數(shù)據(jù)流(框架核心)調(diào)度器(Scheduler)

用來接受引擎發(fā)過來的請求,壓入隊(duì)列中,并在引擎再次請求的時(shí)候返回.可以想像成一個(gè)URL(抓取網(wǎng)頁的網(wǎng)址或者說是鏈接)的優(yōu)先隊(duì)列,由它來決定下一個(gè)要抓取的網(wǎng)址是什么,同時(shí)去除重復(fù)的網(wǎng)址下載器(Downloader)

用于下載網(wǎng)頁內(nèi)容,并將網(wǎng)頁內(nèi)容返回給蜘蛛(Scrapy下載器是建立在twisted這個(gè)高效的異步模型上的)爬蟲(Spiders)

爬蟲是主要干活的,用于從特定的網(wǎng)頁中提取自己需要的信息,即所謂的實(shí)體(Item)。用戶也可以從中提取出鏈接,讓Scrapy繼續(xù)抓取下一個(gè)頁面項(xiàng)目管道(ItemPipeline)

負(fù)責(zé)處理爬蟲從網(wǎng)頁中抽取的實(shí)體,主要的功能是持久化實(shí)體、驗(yàn)證實(shí)體的有效性、清除不需要的信息。當(dāng)頁面被爬蟲解析后,將被發(fā)送到項(xiàng)目管道,并經(jīng)過幾個(gè)特定的次序處理數(shù)據(jù)。下載器中間件(DownloaderMiddlewares)

位于Scrapy引擎和下載器之間的框架,主要是處理Scrapy引擎與下載器之間的請求及響應(yīng)。爬蟲中間件(SpiderMiddlewares)

介于Scrapy引擎和爬蟲之間的框架,主要工作是處理蜘蛛的響應(yīng)輸入和請求輸出。調(diào)度中間件(SchedulerMiddewares)

介于Scrapy引擎和調(diào)度之間的中間件,從Scrapy引擎發(fā)送到調(diào)度的請求和響應(yīng)。第二章爬取動態(tài)網(wǎng)頁一、選擇題1.D2.C3.C4.B5.C簡答題1.簡述JSON對象的書寫方式JSON對象使用在大括號({})中書寫,對象可以包含多個(gè)

key/value(鍵/值)對。其中:key必須是字符串,value可以是合法的JSON數(shù)據(jù)類型(字符串,數(shù)字,對象,數(shù)組,布爾值或null)。key和value中使用冒號(:)分割。每個(gè)key/value對使用逗號(,)分割。2.簡述JSON的基本概念JSON(JavaScript

ObjectNotation,JS對象簡譜)是一種輕量級的數(shù)據(jù)交換格式。它基于ECMAScript(歐洲計(jì)算機(jī)協(xié)會制定的js規(guī)范)的一個(gè)子集,采用完全獨(dú)立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使得JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。3.PhantomJS的特點(diǎn)PhantomJS有如下特點(diǎn):PhantomJS是一個(gè)基于webkit內(nèi)核、無界面的瀏覽器,即它就是一個(gè)瀏覽器,只是其內(nèi)的點(diǎn)擊、翻頁等人為相關(guān)操作需要程序設(shè)計(jì)實(shí)現(xiàn);PhantomJS提供JavascriptAPI接口,可以通過編寫JS程序直接與webkit內(nèi)核交互;PhantomJS的應(yīng)用:無需瀏覽器的Web測試、網(wǎng)頁截屏、頁面訪問自動化、網(wǎng)絡(luò)監(jiān)測。4.簡述Selenium框架的作用Selenium是支持web瀏覽器自動化的一系列工具和庫的綜合項(xiàng)目。它提供了擴(kuò)展來模擬用戶與瀏覽器的交互,用于擴(kuò)展瀏覽器分配的分發(fā)服務(wù)器,以及用于實(shí)現(xiàn)

W3CWebDriver規(guī)范的基礎(chǔ)結(jié)構(gòu),該規(guī)范允許您為所有主要Web瀏覽器編寫可互換的代碼。Selenium的核心是

WebDriver,這是一個(gè)編寫指令集的接口,可以在許多瀏覽器中互換運(yùn)行。5.簡述WebDriver的定位策略定位器Locator描述classname定位class屬性與搜索值匹配的元素(不允許使用復(fù)合類名)cssselector定位CSS選擇器匹配的元素id定位id屬性與搜索值匹配的元素name定位name屬性與搜索值匹配的元素linktext定位linktext可視文本與搜索值完全匹配的錨元素partiallinktext定位linktext可視文本部分與搜索值部分匹配的錨點(diǎn)元素。如果匹配多個(gè)元素,則只選擇第一個(gè)元素。tagname定位標(biāo)簽名稱與搜索值匹配的元素xpath定位與XPath表達(dá)式匹配的元素第三章爬取APP數(shù)據(jù)一、選擇題1.C2.A3.A4.A5.B二、簡答題1.簡述Fiddler的功能 Fiddler是一個(gè)HTTP的調(diào)試代理,以代理服務(wù)器的方式,監(jiān)聽系統(tǒng)的HTTP網(wǎng)絡(luò)數(shù)據(jù)流動。Fiddler可以讓你檢查所有的HTTP通訊,設(shè)置斷點(diǎn),以及Fiddler所有的“進(jìn)出”的數(shù)據(jù)。Fiddler還包含一個(gè)簡單卻功能強(qiáng)大的基于JScript.NET事件腳本子系統(tǒng),它可以支持眾多的HTTP調(diào)試任務(wù)。2.Fiddler的主界面監(jiān)控面板中,Web會話性能統(tǒng)計(jì)信息可以直接在監(jiān)控面板中的什么窗口查看? Statistics窗口3.Fiddler的主界面監(jiān)控面板中,Web網(wǎng)絡(luò)會話內(nèi)容可以直接在監(jiān)控面板中的什么窗口查看? Inspectors窗口4.查看一個(gè)或多個(gè)Web會話的傳輸時(shí)間線的瀑布圖可以直接在監(jiān)控面板中的什么窗口查看?TimeLine窗口 5.簡述Fiddler的主界面面板 工具面板、會話面板、監(jiān)控面板、狀態(tài)面板第四章反爬蟲策略以及解決辦法一、選擇題1.D2.B3.D4.A5.C二、簡答題1.簡述三種反爬蟲策略以及其反爬策略內(nèi)容反爬蟲策略之Headers:Headers是指網(wǎng)絡(luò)請求的頭部信息,也就是網(wǎng)絡(luò)請求過程中所攜帶的描述信息,允許您對HTTP請求和響應(yīng)頭執(zhí)行各種操作。基于Headers的反爬蟲策略常見的為:根據(jù)User-Agent識別瀏覽器行為;根據(jù)Cookie識別用戶信息;根據(jù)Referer識別鏈路、根據(jù)Content-Type識別數(shù)據(jù)類型。 反爬蟲策略之Cookie:Cookie是請求頭的一部分,同時(shí)也web瀏覽器的憑證,根據(jù)實(shí)際情況,有時(shí)候要指定Cookie參數(shù)。requests將Cookie從中剝離出來,可以使用cookies參數(shù)直接指定。在爬取有些網(wǎng)頁是要求登錄之后的才能爬取,所以要和服務(wù)器一直保持登錄狀態(tài),有時(shí)的策略不都指定cookies,而是會使用session來完成,Session提供的API和requests是一樣的,并且可將Cookie自動保存。反爬蟲策略之Proxies:服務(wù)器會針對用戶操作對用戶行為進(jìn)行記錄,當(dāng)根據(jù)規(guī)則匹配識別為程序操作,可能會進(jìn)行IP封禁的操作。當(dāng)我們發(fā)現(xiàn)IP已經(jīng)被封了,此IP就再也訪問不到目標(biāo)網(wǎng)站了。為了面對封禁IP的操作,我們可以:做更完善的設(shè)置,避免瀏覽器識別并封禁IP;使用代理IP,隱藏真實(shí)IP;設(shè)置好訪問間隔,避免服務(wù)器壓力過大。2.簡單介紹Tesseract,并列舉出Pytesseract的函數(shù)Tesseract,一款由HP實(shí)驗(yàn)室開發(fā)由Google維護(hù)的開源OCR(OpticalCharacterRecognition,光學(xué)字符識別)引擎,與MicrosoftOfficeDocumentImaging(MODI)相比,我們可以不斷的訓(xùn)練的庫,使圖像轉(zhuǎn)換文本的能力不斷增強(qiáng);如果團(tuán)隊(duì)深度需要,還可以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論