大數據爬蟲技術 習題及答案匯總 黃源 項目1-6_第1頁
大數據爬蟲技術 習題及答案匯總 黃源 項目1-6_第2頁
大數據爬蟲技術 習題及答案匯總 黃源 項目1-6_第3頁
大數據爬蟲技術 習題及答案匯總 黃源 項目1-6_第4頁
大數據爬蟲技術 習題及答案匯總 黃源 項目1-6_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

簡答題1.簡述網絡爬蟲的運行機制。爬蟲從一個或若干種子頁面開始,獲得種子頁面上的鏈接,并根據需求來追蹤其中的一些鏈接,達到遍歷所有網頁的目的。在抓取網頁的過程中,一方面提取需要的數據信息,另外一方面從當前頁面上抽取新的網頁地址放入待處理隊列,直到滿足系統(tǒng)一定的停止條件2.簡述網絡爬蟲的請求與響應的基本原理。HTTP由兩部分組成:請求和響應。當人們在Web瀏覽器中輸入一個URL時,瀏覽器將根據要求創(chuàng)建并發(fā)送請求,該請求包含所輸入的URL以及一些與瀏覽器本身相關的信息。當服務器收到這個請求時將返回一個響應,該響應包括與該請求相關的信息以及位于指定URL(如果有的話)的數據。(1)Request(請求)每一個用戶打開的網頁都必須在最開始由用戶向服務器發(fā)送訪問的請求。一般來講,一個HTTP請求報文由請求行(requestline)、請求頭部(headers)、空行(blankline)和請求數據(requestbody)4個部分組成。(2)Response(響應)服務器在接收到用戶的請求后,會驗證請求的有效性,然后向用戶發(fā)送相應的內容。客戶端接收到服務器的相應內容后,再將此內容展示出來,以供用戶瀏覽。3.簡述如何安裝與運行Python。用戶可直接登錄Python官網,/中直接下載Python的安裝程序包,如若是安裝在Windows操作系統(tǒng)上的Python,請下載“64位下載Windowsx86-64executableinstaller”版本簡答題1.簡述urllib庫的特點。Pythonurllib庫用于操作網頁URL,并對網頁的內容進行抓取處理。urllib是URL和lib兩個單詞共同構成的,URL就是網頁的地址,lib是library(庫)的縮寫。嚴格的講,urllib并不是一個模塊,它其實是一個包(package),里邊總共有四個模塊。因此它包含了對服務器請求的發(fā)出、跳轉、代理和安全等各個方面的內容。2.簡述BeautifulSoup庫中的對象。BeautifulSoup將復雜的HTML文檔轉換為一個樹形結構來讀取,其中樹形結構中的每個節(jié)點都是Python對象,并且所有對象都可以歸納為Tag、NavigableString、BeautifulSoup以及Comment等4種。3.簡述JsonPath的常見語法。符號描述$根節(jié)點@當前節(jié)點*匹配所有節(jié)點...不管在任何位置,選取符合條件的節(jié)點[,]支持迭代器中做多選?()支持過濾操作()支持表達式操作.or[]取子節(jié)點[start:end]數組區(qū)間,不包含end4.簡述基礎爬蟲框架的模塊?;A爬蟲框架主要包括五大模塊,分別為爬蟲調度器、URL管理器、HTML下載器、HTML解析器和數據存儲器。簡答題1.簡述MySQL數據庫的特點。MySQL數據庫的特點和優(yōu)勢如下:1、MySQL性能卓越、服務穩(wěn)定,很少出現異常宕機。2、MySQL開放源代碼且無版權制約,自主性及使用成本低。3、MySQL歷史悠久,用戶使用活躍,遇到問題可以尋求幫助。4、MySQL體積小,安裝方便,易于維護。5、MySQL口碑效應好,LAMP、LNMP流行架構。6、MySQL支持多種操作系統(tǒng),提供多種API接口,支持多種開發(fā)語言,特別是PHP。2.簡述SQL語言的分類。SQL語言通常分為五類:DDL(數據定義語言):create、alter、drop等;DQL(數據查詢語言):select等;DML(數據操縱語言):insert、delete、update等;TCL(事務控制語言):commit、rollback等;DCL(數據控制語言):grant、revoke等。3.簡述Python操作MySQL數據庫的步聚。通過PyMySQL的connect方法聲明一個MySQL連接對象db,此時需要傳入MySQL運行的host(即IP)。由于MySQL在本地運行,所以傳入的是localhost。如果MySQL在遠程運行,則傳入其公網IP地址。后續(xù)的參數user即用戶名,password即密碼,port即端口(默認為3306)。連接成功后,需要再調用cursor方法獲得MySQL的操作游標,利用游標來執(zhí)行SQL語句。這里我們執(zhí)行了兩句SQL,直接用execute方法執(zhí)行即可。第一句SQL用于獲得MySQL的當前版本,然后調用fetchone方法獲得第一條數據,也就得到了版本號。第二句SQL執(zhí)行創(chuàng)建數據庫的操作,數據庫名叫作spiders,默認編碼為UTF-8。由于該語句不是查詢語句,所以直接執(zhí)行后就成功創(chuàng)建了數據庫spiders。接著,再利用這個數據庫進行后續(xù)的操作。簡答題1.簡述如何安裝Scrapy框架。在安裝Scrapy框架之前,必須依次安裝twiste包、whl包、lxml包、erface包、pywin32包和pyOpenSSL包。并在上述包全部安裝完成后,運行命令:pipinstallscrapy來安裝Scrapy框架。2.簡述Scrapy框架的基本原理。Scrapy框架由ScrapyEngine、Scheduler、Downloader、Spiders、ItemPipeline、Downloadermiddlewares以及Spidermiddlewares等部分組成當Spider要爬取某URL地址的頁面時,首先用該URL構造一個Request對象,提交給Engine,隨后Request對象進入Scheduler,按照某種調度算法排隊,之后的某個時候從隊列中出來,由Engine提交給Downloader。Downloader根據Request對象中的URL地址發(fā)送一次HTTP請求到目標網站服務器,并接受服務器返回的HTTP響應,構建一個Response對象,并有Engine將Response提交給Spider。Spider提取Response中的數據,構造出Item對象或者根據新的連接構造出Request對象。分別由Engine提交給ItemPipeline或者Scheduler這個過程反復進行,直至爬完所有的數據。同時,數據對象在出入Spider和Downloader時可能會經過Middleware進行進一步的處理。3.簡述如何Scrapy項目。創(chuàng)建一個最簡單的Spider項目。(1)在D盤根目錄中創(chuàng)建文件夾,名稱為“spider”。(2)使用Scrapy創(chuàng)建爬蟲項目,進入已經創(chuàng)建好的文件夾,并使用命令“scrapystartprojectmyspider”來創(chuàng)建項目簡答題1.簡述什么是動態(tài)網頁。動態(tài)網頁頁面代碼雖然沒有變,但顯示的內容卻是可以隨著時間、環(huán)境或者數據庫操作的結果而發(fā)生改變的。動態(tài)網頁也可以是純文字內容的,也可以是包含各種動畫的內容,這些只是網頁具體內容的表現形式,無論網頁是否具有動態(tài)效果,只要采用了\t"/item/%E5%8A%A8%E6%80%81%E7%BD%91%E9%A1%B5/_blank"動態(tài)網站技術生成的網頁都可以稱為動態(tài)網頁。現在主流網站基本上都是動態(tài)網頁,這些網頁大多使用JavaScript展現網頁內容,與靜態(tài)網頁不同的是,使用JavaScript時,很多內容并不會出現在HTML源代碼中。2.簡述動態(tài)網頁的三個特征。從源代碼的特征看,動態(tài)網頁的數據不會出現在網頁源代碼中,而是被“藏”起來了。從網址特征看,請求新數據時(如下拉或翻頁),當前網頁數據內容已更新變化,而網址不會變化。從技術特征看,常用動態(tài)網頁技術。3.簡述動態(tài)網頁的工作原理。當用戶請求的是一個動態(tài)網頁時,服務器要做更多的工作才能把用戶請求的信息發(fā)送回去,服務器一般按照以下步驟進行工作。步驟1:服務器端接受請求。步驟2:Web服務器從服務器硬盤指定的位置或內存中讀取動態(tài)網頁文件。步驟3:執(zhí)行網頁文件的程序代碼,將含有程序代碼的動態(tài)網頁轉化為標準的靜態(tài)頁面(如HTML)。步驟4:Web服務器將生成的靜態(tài)頁面代碼發(fā)送給請求瀏覽器。4.簡述什么是AJAX。AsynchronousJavascriptAndXML(簡稱“AJAX”),也就是異步JavaScript和XML。5.簡述爬取動態(tài)網頁數據的步驟。具體來看,爬取動態(tài)網頁數據主要可分為以下步驟。步驟1:分析網頁結構,查找數據接口;步驟2:構造請求頭,請求接口數據;步驟3:解析接口數據;步驟4:儲存數據;如果涉及多頁的數據,需要分析接口的變化規(guī)律,參看以下步驟。步驟1:分析單頁網頁結構,查找數據接口;步驟2:分析接口變化規(guī)律,構造接口參數;步驟3:循環(huán)請求、獲取并解析數據;步驟4:儲存數據。6.簡述異步GET與POST請求方式。同步GET與POST是最常見的點擊刷新模式,單擊連接或提交表單,刷新整個頁面。異步GET與POST是\t"/weixin_42675177/article/details/_blank"AJAX的常見應用,單擊連接或提交表單的返回對象是一個不可見層,然后使用JavaScript根據返回的數據改變當前頁面顯示。簡答題1.簡述什么是文本分詞。在做文本挖掘的時候,首先要做的預處理就是分詞。文本分詞是將字符串劃分為有意義的單詞的過程,如詞語、句子或主題等。英文單詞天然有空格隔開,容易按照空格分詞,但有時候也需要把多個單詞做為一個分詞,比如“NewYork”等名詞,需要做為一個詞看待。而中文由于沒有空格,分詞就是一個需要專門去解決的問題了。2.簡述numpy創(chuàng)建數組的方法。在numpy庫中創(chuàng)建數組可以使用如下語法:numpy.array該語句表示通過引入numpy庫創(chuàng)建了一個ndarray對象。在創(chuàng)建數組時,可以加入如下參數:numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)3.簡述pandas讀取csv文件的方法。使用pandas

溫馨提示

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

評論

0/150

提交評論