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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論