人工智能數據服務 課件 人工智能數據服務 課件 2-1 項目二 數據采集 任務1 網絡數據采集_第1頁
人工智能數據服務 課件 人工智能數據服務 課件 2-1 項目二 數據采集 任務1 網絡數據采集_第2頁
人工智能數據服務 課件 人工智能數據服務 課件 2-1 項目二 數據采集 任務1 網絡數據采集_第3頁
人工智能數據服務 課件 人工智能數據服務 課件 2-1 項目二 數據采集 任務1 網絡數據采集_第4頁
人工智能數據服務 課件 人工智能數據服務 課件 2-1 項目二 數據采集 任務1 網絡數據采集_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

項目2

數據采集《人工智能數據服務》學習引導任務3數據存儲與加載1任務2端側數據采集1任務11網絡數據采集項目導入

隨著互聯網技術的飛速發展,我們生活在一個數據驅動的時代。數據采集作為信息處理的第一步,對于理解世界、指導決策具有至關重要的作用。設想一個城市交通管理中心,需要實時監控和分析交通流量,以優化交通信號燈的控制,減少擁堵,提高道路使用效率。通過在關鍵路口安裝傳感器和攝像頭,收集車輛流量、速度、事故等數據,管理中心能夠實時了解交通狀況,并做出相應的調整。項目導入數據采集不僅是一項技術活動,更是城市管理者服務社會、提高公共福祉的體現。然而,在智能交通系統的場景中,數據的準確性和公正性對于交通管理至關重要,這要求我們在數據采集和處理過程中保持誠信,對數據負責,確保信息的真實性和可靠性。項目導入通過本章節的學習,學生不僅能夠掌握數據采集的技術知識,更能夠在思想上得到提升,學會如何在數據采集的實踐中堅持社會主義核心價值觀,培養成為具有社會責任感和專業素養的新時代青年。通過實際應用場景的學習和討論,學生將更加深刻地理解數據采集在社會發展中的作用,以及作為數據采集者應承擔的社會責任。任務1網絡數據采集1任務描

述任務導入知

備任務小

結任務實

施在數字化浪潮中,網絡數據采集成為企業獲取關鍵信息、優化決策的重要工具。然而,網絡信息的復雜性和海量性使得數據采集工作變得異常艱巨。因此,實施高效、精準的網絡數據采集方案至關重要。通過采用先進的爬蟲技術,自動抓取多源數據,并經過清洗、整理和分析,為用戶提供結構化、可視化的數據支持。任務

入任

述知

備任務小

結任務實

施本任務將采用多種網絡爬蟲技術,爬取房屋租賃網站上4個頁面的房源信息數據,并將爬取到的數據保存到本地當中,其中房源信息包括房源封面照片、戶型、面積等任務導

入知

備任

述任務小

結任務實

施網絡爬蟲的基本原理:發送請求接收響應解析網頁存儲數據循環抓取與調度2.1.1網絡爬蟲的基本原理及基本庫的使用爬蟲類型具體內容通用網絡爬蟲該類爬蟲目標是整個互聯網,采用深度優先或廣度優先等策略遍歷網頁,構建搜索引擎的索引庫,如百度。聚焦網絡爬蟲專注于特定主題或領域的爬蟲,只爬取與主題相關的網頁,用于提高特定領域搜索的準確性和效率。增量式網絡爬蟲定期檢查并只爬取新產生或更新的網頁,減少重復工作量,節省資源,提供更實時的信息。深層網絡爬蟲模擬用戶填寫表單,獲取需要特定輸入才能訪問的網頁數據,用于深入分析和挖掘隱藏數據。任務導

入知

備任

述任務小

結任務實

施2.基本庫的使用2.1.1網絡爬蟲的基本原理及基本庫的使用爬蟲庫或框架具體內容requests庫用于發送HTTP請求。requests庫提供了簡單易用的API,支持GET、POST、PUT、DELETE等多種請求方法,并且可以方便地設置請求頭、請求體等參數。BeautifulSoup庫用于解析HTML或XML文檔,提取出標簽、屬性、文本等信息。BeautifulSoup將復雜的HTML文檔轉換成一個嵌套的Python對象,使得信息提取變得簡單直觀。Scrapy框架一個高級的Python爬蟲框架,提供了完整的爬蟲開發流程,包括發送請求、解析網頁、存儲數據等。Scrapy還提供了豐富的擴展插件和中間件,支持異步IO、分布式爬取等功能。importrequestsurl=''#可修改為具體的網頁headers={'User-Agent':'My-Crawler'}#請求頭response=requests.get(url,headers=headers)ifresponse.status_code==200:print(response.text)簡單使用frombs4importBeautifulSouphtml_doc="""<html><head><title>TestPage</title></head><body><p>Thisisatestparagraph.</p></body></html>"""#網頁文本soup=BeautifulSoup(html_doc,'html.parser')#解析網頁title=soup.title.stringparagraph=soup.p.string項

入知

備任

述任務小

結任務實

施1.網頁的主要構成在數字化時代,網頁是信息傳遞與交互的重要載體。一個完整的網頁不僅僅是文字和圖片的堆砌,它由多個部分協同工作,共同構建出豐富、互動的用戶體驗。2.1.2網頁前端基礎構成具體內容內容網頁的核心,包括文字、圖片、視頻和音頻等,旨在傳遞有價值的信息和服務,決定網站的風格和定位結構網頁的框架,通過HTML標簽定義內容的排列和邏輯,如標題、段落等,影響用戶獲取信息的效率樣式網頁的視覺表現,利用CSS調整布局、顏色和字體,提升網頁的美觀度和吸引力行為網頁的交互性,通過JavaScript實現動態效果,如表單驗證和數據加載,增強用戶體驗元數據網頁的后臺信息,包括標題、描述和關鍵詞,對搜索引擎優化和網頁顯示至關重要項

入知

備任

述任務小

結任務實

施2.HTML語言基礎HTML,全稱超文本標記語言,是構建網頁的基石。HTML,作為構建網頁的基石,通過一系列標簽和元素定義網頁的結構和內容。2.1.2網頁前端基礎常用標簽如標題(h1-h6)、段落(p)、鏈接(a)、圖片(img)、列表(ul、ol、li)和表格(table、tr、td)等,用于構建網頁的不同部分。HTML標簽還支持屬性,如href、src、class和id,以提供額外信息或定義行為。此外,HTML語義化強調使用有明確含義的標簽,提升網頁可讀性、可訪問性和SEO優化。項

入知

備任

述任務小

結任務實

施1.使用Requests發送HTTP請求requests庫是一個用于發送HTTP請求的Python庫,它簡化了HTTP請求的發送過程。2.1.3構建爬蟲requests.get(url,params=None,**kwargs):發送GET請求。url是請求的URL,params是一個字典,包含要添加到URL中的查詢參數。requests.post(url,data=None,json=None,**kwargs):發送POST請求。data是一個字典或字節串,包含要發送的表單數據;json是一個字典,將被序列化為JSON格式后發送。response.status_code:響應的狀態碼,如200表示成功,404表示未找到頁面。response.text:響應的文本內容,以字符串形式返回。項

入知

備任

述任務小

結任務實

施2.使用BeautifulSoup解析HTMLBeautifulSoup是一個Python庫,用于解析HTML和XML文檔,創建解析樹,并提供方便的方法來遍歷和搜索這些樹。2.1.3構建爬蟲BeautifulSoup庫中的select函數是使用CSS選擇器從HTML文檔中選擇元素的主要方法。其基本語法是:result_set=soup.select(selector),其中soup是BeautifulSoup對象,selector是一個字符串,表示要選擇的元素的CSS選擇器。項

入知

備任

述任務小

結任務實

施3.使用使用正則表達式提取信息正則表達式是一種強大的文本處理工具,通過定義模式來匹配、查找和替換文本中的特定內容。2.1.3構建爬蟲re.match(pattern,string,flags=0):從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回None。re.search(pattern,string,flags=0):掃描整個字符串并返回第一個成功的匹配。re.findall(pattern,string,flags=0):在字符串中找到正則表達式所匹配的所有子串,并返回一個包含這些子串的列表。項

入知

備任

述任務小

結任務實

施3.使用Lxml和XPath提取信息Lxml是一個用于處理XML和HTML文檔的Python庫,它結合了libxml2和libxslt的功能,為開發者提供了強大的解析和搜索能力。2.1.3構建爬蟲XPath使用路徑表達式來選取XML文檔中的節點或節點集。這些路徑表達式和我們在常規的計算機文件系統中看到的表達式非常相似。XPath通過元素名或屬性名來選擇節點,如div表示選擇所有<div>元素。同時,還可以使用/來選擇子節點,如div/p表示選擇所有<div>元素下的<p>子元素;使用//來選擇后代節點,不論層級,如//a表示選擇文檔中的所有<a>元素;使用@來選擇屬性,如a/@href表示選擇所有<a>元素的href屬性。項

入知

備任

述任務小

結任務實

施1.爬蟲協議爬蟲協議,也稱為robots.txt協議,是網站通過robots.txt文件向爬蟲程序(如搜索引擎爬蟲)發出的訪問規則。這個文件告訴爬蟲哪些頁面可以訪問,哪些頁面不能訪問。2.1.4爬蟲的協議與道德、法律robots.txt文件的位置:通常位于網站的根目錄下,例如/robots.txt。robots.txt的內容:該文件使用簡單的文本格式,通過User-agent和Disallow指令來定義規則。User-agent指定了規則適用的爬蟲程序,Disallow則指定了禁止訪問的路徑。項

入知

備任

述任務小

結任務實

施2.爬蟲道德爬蟲道德主要涉及對目標網站的尊重和保護,以及合理使用爬取的數據。2.1.4爬蟲的協議與道德、法律尊重網站權益:爬蟲應遵守網站的robots.txt協議,不爬取禁止訪問的頁面。同時,避免對網站造成過大的訪問壓力,影響網站的正常運行。保護用戶隱私:在爬取過程中,避免收集用戶的個人信息或敏感數據,尊重用戶的隱私權。合理使用數據:爬取的數據應僅用于合法、合規的目的,不得用于侵犯他人權益或進行非法活動。同時,對于爬取的數據,應注明來源,尊重原作者的版權。項

入知

備任

述任務小

結任務實

施3.爬蟲法律爬蟲活動涉及的法律問題主要包括版權法、反不正當競爭法、計算機信息網絡國際聯網管理暫行規定等。2.1.4爬蟲的協議與道德、法律未經原作者授權,擅自使用或傳播這些數據可能構成侵權行為。利用爬蟲進行惡意競爭,如爬取競爭對手的數據用于不正當競爭行為,可能違反反不正當競爭法。爬蟲活動應遵守國家關于計算機信息網絡管理的相關規定,不得進行非法入侵、破壞網絡安全等行為。項

入任

述任務小

結任務實

施知

備網絡數據采集的任務工單如下表:班級:組別:姓名:掌握程度:任務名稱租賃網站住房信息爬取任務目標將網絡上的住房信息爬取下來,并打印出來爬取數據住房封面圖片、住房價格、面積等工具清單Python、requests、BeautifulSoup、Lxml操作步驟1.

網絡數據采集環境搭建:利用Anconda3配置python的版本、安裝相關的數據爬取模塊。2.

構建住房信息爬蟲:利用配置好的數據采集環境,構建網絡爬蟲代碼。3.

將爬取到的住房信息數據打印或顯示出來考核標準1.實現與性能:

[協議支持,網頁抓取能力]2.穩定性和可靠性:

[長時間穩定運行]3.數據質量:[數據準確性,數據完整性,數據一致性]4.合規性與道德標準:[遵守robots.txt協議,保護用戶隱私,尊重版權]項

入任

述任務小

結任務實

施知

備步驟一網絡數據采集環境搭建pipinstallrequests-i/simplepipinstallbs4-i/simple項

入任

述任務小

結任務實

施知

備步驟一網絡數據采集環境搭建pipinstalllxml-i/simple項

入任

述任務小

結任務實

施知

備步驟二網絡爬蟲構建初始化虛擬環境切換后的虛擬環境

1.

打開Pycharm,切換虛擬環境打開Pycharm之后需要確認當前python解析器是否是上面創建的虛擬環境Web_crawler中的解析器,如果不是則需要進行切換項

入任

述任務小

結任務實

施知

備步驟二網絡爬蟲構建

2.爬蟲代碼構建利用requests和BeautifulSoup

編寫爬蟲代碼defget_links(url):#接收參數:每個房源列表頁的urli=0wb_data=requests.get(url,headers=headers)soup=BeautifulSoup(wb_data.text,'lxml')links=soup.select('div.list-main-header.clearfix>a')#獲取每個房源詳情頁的a標記,得到a標記列表,可以找到詳情頁的urlforlinkinlinks:href=link.get('href')#tag的get函數,獲取a標記href的屬性值,即可獲取詳情頁urlhref=''+hreftime.sleep(2)get_info(href)#調用get_info函數,參數為詳情頁url項

入任

述任務小

結任務實

施知

備步驟二網絡爬蟲構建

2.爬蟲代碼構建利用requests和BeautifulSoup

編寫爬蟲代碼具體流程如下:1)

導入需要的模塊:requests、BeautifulSoup和time。2)

設置請求頭信息,模擬瀏覽器進行網頁訪問。3)

定義了一個函數get_links(url)用于獲取每個房源列表頁的詳細鏈接地址,然后調用get_info(url)函數,獲取每個房源的詳細信息。4)

定義了一個函數get_info(url)用于獲取房源的詳細信息,包括房源名稱、戶型、價格、面積、經紀人電話和封面圖片。同時將封面圖片保存到本地。在__main__部分,構造了要爬取的房源列表頁的url,并依次調用get_links(url)函數來獲取房源詳細信息。項

入任

述任務小

結任務實

施知

備步驟二網絡爬蟲構建

2.爬蟲代碼構建利用requests和正則表達式編寫爬蟲代碼#定義函數,用于獲取房源列表頁的詳細鏈接地址defget_link(url):linklist=[]##存儲房源鏈接地址列表

res=requests.get(url,headers=headers)##發送網絡請求獲取頁面內容

#print(res)ptn='<aclass=""href="(.*?)"'#匹配房源鏈接地址的正則表達式

links=re.findall(ptn,res.text,re.S)#使用正則表達式提取房源鏈接地址

print(links)forlinkinlinks:if(link!='<%=url%>'):linklist.append(link)#將有效鏈接地址添加到列表中

forlinkinlinklist:get_info(link)項

入任

述任務小

結任務實

施知

備步驟二網絡爬蟲構建

2.爬蟲代碼構建利用requests和正則表達式編寫爬蟲代碼下面是代碼的流程步驟描述:1)

導入需要使用的模塊:re(正則表達式模塊)、requests(網絡請求模塊)和time(時間模塊)。2)

設置請求頭信息headers,模擬瀏覽器訪問。3)

定義函數get_link(url),用于獲取房源列表頁的詳細鏈接地址:4)

定義函數get_info(url),用于獲取房源的詳細信息:5)

在主程序中,構造要爬取的多個頁面的URL列表。遍歷URL列表,依次調用get_link(url)函數,并在每次請求后暫停5秒(time.sleep(5))以避免請求過于頻繁被網站封鎖。項

入任

述任務小

結任務實

溫馨提示

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

評論

0/150

提交評論