Python人工智能技術(shù)與應(yīng)用課件:完成 Python 網(wǎng)絡(luò)爬蟲實(shí)訓(xùn)_第1頁
Python人工智能技術(shù)與應(yīng)用課件:完成 Python 網(wǎng)絡(luò)爬蟲實(shí)訓(xùn)_第2頁
Python人工智能技術(shù)與應(yīng)用課件:完成 Python 網(wǎng)絡(luò)爬蟲實(shí)訓(xùn)_第3頁
Python人工智能技術(shù)與應(yīng)用課件:完成 Python 網(wǎng)絡(luò)爬蟲實(shí)訓(xùn)_第4頁
Python人工智能技術(shù)與應(yīng)用課件:完成 Python 網(wǎng)絡(luò)爬蟲實(shí)訓(xùn)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

完成

Python

網(wǎng)絡(luò)爬蟲實(shí)訓(xùn)掌握Python

人工智能的基礎(chǔ)應(yīng)用《Python

人工智能技術(shù)與應(yīng)用》任務(wù)導(dǎo)入

Ta

s

k

M

pBI產(chǎn)品需要大量的高質(zhì)量的數(shù)據(jù),該商業(yè)咨詢公司已擁有的數(shù)據(jù)量無法形成較大的數(shù)據(jù)規(guī)模,現(xiàn)需要解決數(shù)據(jù)的來源問題。你作為該公司商業(yè)智能團(tuán)隊(duì)中的Python爬蟲工程師,你的主要職責(zé)是開發(fā)和維護(hù)一個(gè)自動(dòng)化的爬蟲系統(tǒng),從互聯(lián)網(wǎng)上獲取大量的數(shù)據(jù)。任務(wù)目標(biāo)知識(shí)目標(biāo)·

認(rèn)識(shí)網(wǎng)絡(luò)爬蟲的基本流程。·

了解

Python

爬蟲工具庫及其

使用方法。·

了解Python

實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲的

流程及其

Python

實(shí)現(xiàn)。·

掌握使用Selenium

庫實(shí)現(xiàn)對(duì)

汽車之家網(wǎng)站的連接和訪問。技能目標(biāo)·

掌握使用

Lxml

庫實(shí)現(xiàn)對(duì)汽車

之家網(wǎng)站的解析。·掌握使用

xlswriter

實(shí)現(xiàn)對(duì)爬取

后的汽車之家口碑?dāng)?shù)據(jù)進(jìn)行保存。

能夠思考確定Python

爬取汽

車之家口碑?dāng)?shù)據(jù)的整體思路,培

養(yǎng)開拓進(jìn)取的職業(yè)態(tài)度。素養(yǎng)目標(biāo)·

引導(dǎo)問題的過程中,培養(yǎng)學(xué)

生形成勤于思考的能力·

獲得分析解決問題以及多元

化思考解決問題的方法,形成

創(chuàng)新意識(shí)。網(wǎng)絡(luò)爬蟲基本流程常見Python

爬蟲工具庫爬取汽車之家口碑?dāng)?shù)據(jù)項(xiàng)目實(shí)訓(xùn)目

錄CONTENTS網(wǎng)絡(luò)爬蟲基本流程搜索引擎可以幫助人們檢索信息,如百度、搜狗、谷歌等,但也存在一定的局限性。>難以滿足不同用戶的檢索目的和需求>有限的搜索引擎服務(wù)器資源與無限的網(wǎng)絡(luò)數(shù)據(jù)資源之間的矛盾>圖片、數(shù)據(jù)庫、音頻、視頻多媒體等不同數(shù)據(jù)的發(fā)現(xiàn)和獲取>基于關(guān)鍵字的檢索難以支持基于語義信息的查詢。網(wǎng)絡(luò)爬蟲(又稱網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機(jī)器人在FOAF

社區(qū)中間,更經(jīng)常地被稱為網(wǎng)頁追

逐者),是一種按照一定的規(guī)則,自動(dòng)地抓

取萬維網(wǎng)信息的程序或者腳本。網(wǎng)絡(luò)爬蟲是

一種程序,可以自動(dòng)化地從互聯(lián)網(wǎng)上收集信息。確定要爬取的網(wǎng)站和頁面發(fā)送HTTP請(qǐng)求解析HTML

內(nèi)容提取數(shù)據(jù)存儲(chǔ)數(shù)據(jù)循環(huán)迭代網(wǎng)絡(luò)爬蟲基本流程

網(wǎng)絡(luò)爬蟲基本流程

網(wǎng)絡(luò)爬蟲概念網(wǎng)絡(luò)爬蟲基本流程確定要爬取的網(wǎng)站和頁面首先,你需要確定要爬取的網(wǎng)站和頁面。你可

以選擇從一個(gè)或多個(gè)網(wǎng)站開始,然后選擇要爬

取的頁面。發(fā)

HTTP

請(qǐng)

求在開始爬取之前,需要向目標(biāo)網(wǎng)站發(fā)送

HTTP

請(qǐng)

求。這可以通過使用

Python

中的請(qǐng)求庫(例如

Requests

庫)來完成。你需要向目標(biāo)網(wǎng)站發(fā)送

請(qǐng)求,并等待它們響應(yīng)。解析

HTML

內(nèi)容當(dāng)目標(biāo)網(wǎng)站響應(yīng)請(qǐng)求時(shí),它會(huì)返回一個(gè)HTML文檔。你需要解析HTML

文檔,以提取你感興

趣的信息。

Python

中常用的解析庫有

BeautifulSoup和Ixml

等。提取數(shù)據(jù)一旦你解析了

HTML

內(nèi)容,你需要提取你需要

的數(shù)據(jù)。你可以使用Pvthon

中的正則表達(dá)式

或解析庫提供的工具來查找和提取信息。確定要爬取的網(wǎng)站和頁面首先,你需要確定要爬取的網(wǎng)站和頁面。你可

以選擇從一個(gè)或多個(gè)網(wǎng)站開始,然后選擇要爬

取的頁面。發(fā)送

HTTP

請(qǐng)求在開始爬取之前,需要向目標(biāo)網(wǎng)站發(fā)送

HTTP

請(qǐng)求。這可以通過使用

Python中的請(qǐng)求庫(例如Requests

庫)來完成。你需要向目標(biāo)網(wǎng)站發(fā)送

請(qǐng)求,并等待它們響應(yīng)。1模擬瀏覽器發(fā)送訪問請(qǐng)求2響應(yīng)請(qǐng)求,發(fā)送HTML

文檔3從HTML

中抽取數(shù)據(jù)DATA4將數(shù)據(jù)持久化存儲(chǔ)網(wǎng)絡(luò)爬蟲的基本流程示意圖網(wǎng)絡(luò)爬蟲基本流程序號(hào)描述命令1創(chuàng)建一個(gè)Chrome瀏

覽器對(duì)象driver=webdriver.Chrome()2打開指定的網(wǎng)頁driver.get(url)3查找一個(gè)網(wǎng)頁元素,通

過XPath定位element

=driver.find_element_by_xpath(xpath4查找一個(gè)網(wǎng)頁元素,通

過CSS選擇器定位element

=driver.find_element_by_css_selector(css_selector)5在網(wǎng)頁元素中輸入文本element.send_keys(keys)6單擊網(wǎng)頁元素element.click()7在瀏覽器中執(zhí)行

JavaScript代碼driver.execute_script(script)8獲取當(dāng)前網(wǎng)頁源代碼driver.page_source9返回上一個(gè)網(wǎng)頁driver.back()Python

的Selenium

庫是一個(gè)用于自動(dòng)化測試和網(wǎng)頁爬取的工具,它可以模

擬用戶在瀏覽器中的操作,如打開網(wǎng)頁、填寫表單

、

點(diǎn)擊按鈕等

,

可以對(duì)

JavaScript生成的內(nèi)容進(jìn)行操作,并獲

取網(wǎng)頁中的數(shù)據(jù)。右表為Selenium

庫操作流程。02

見Python爬蟲工具庫(

)Selenium庫序號(hào)描述命令1導(dǎo)入lxml庫中的etree模塊from

lxml

import

etree2將HTML字符串轉(zhuǎn)換為I_Element對(duì)象etree.HTML(html_string)3將HTML文件解析為I_ElementTree對(duì)象etree.parse(file_path)4在元素中使用XPath表達(dá)式搜索子元素并返回

結(jié)果列表etree.xpath(xpath_expression)5獲取元素的指定屬性值etree.get('attribute_name'6獲取元素的文本內(nèi)容etree.text7獲取元素的標(biāo)簽名稱etree.tag8獲取元素的父元素etree.getparent()9查找所有具有指定標(biāo)簽名稱的子元素etree.findall('tag_name')10查找第一個(gè)具有指定標(biāo)簽名稱的子元素etree.find('tag_name')11返回元素的迭代器,可以使用for循環(huán)遍歷子

元素etree.iter()12返回元素的子元素列表etree.getchildren()13將元素及其子元素序列化為字符串etree.tostring(element)14將元素及其子元素序列化為Unicode字符串etree.tostring(element,encoding='unicode')Python的Lxml庫是一個(gè)用于處理XML和HTML文檔的Python庫,它是基

于C實(shí)現(xiàn)的,具有高性能和高效率的特

點(diǎn)。Lxml庫提供了ElementTree

API的

增強(qiáng)版,支持XPath和CSS選擇器等高

級(jí)功能,能夠?qū)ML和HTML文檔進(jìn)行解析、修改和生成等操作。右表為Lxml庫操作流程。02

見Python爬蟲工具庫(

)Lxml庫序號(hào)描述指令1安裝xlswriterpip

installXlsxWriter2創(chuàng)建Excel文件#創(chuàng)建一個(gè)新的Excel文件workbook=xlsxwriter.Workbook('example.xlsx')3創(chuàng)建工作表#創(chuàng)建一個(gè)名為“Sheet1”的工作表worksheet=workbook.add_worksheet('Sheet1')4編寫數(shù)據(jù)#寫入數(shù)據(jù)到單元格(A1)worksheet.write('A1','Hello')5指定單元格

格式#創(chuàng)建文本格式對(duì)象text_format=workbook.add_format({'num_format':'@'})#在單元格(A2)寫入文本,并應(yīng)用文本格式worksheet.write('A2','World',text_format)#創(chuàng)建數(shù)字格式對(duì)象num_format=workbook.add_format({'num_format':'0.00'})#在單元格(B1)寫入數(shù)字,并應(yīng)用數(shù)字格

式worksheet.write('B1,123.456,num_format)6保存Excel文件#關(guān)閉Excel文件workbook.close()xlsxwriter是Python

的第三方庫,用于在Excel文件中創(chuàng)建和編輯電子表格。

它提供了許多功能,如自動(dòng)調(diào)整列寬、

格式化單元格、插入圖表和公式等。右表為xlsxwriter庫操作流程。02

常見Python爬蟲工具庫(

)xlsxwriter庫爬取汽車之家口碑?dāng)?shù)據(jù)項(xiàng)目實(shí)訓(xùn)(

)實(shí)現(xiàn)思路汽車之家是一個(gè)汽車行業(yè)門戶網(wǎng)站,它提供了廣泛的汽車信息,包括汽車口碑?dāng)?shù)據(jù)。汽車之家的口

碑?dāng)?shù)據(jù)是基于用戶提交的評(píng)論、評(píng)分和其他數(shù)據(jù)編

制的??刹捎萌缦路绞綄?shí)現(xiàn)案例:使用Selenium打開汽車之家網(wǎng)站使用Lxml庫解析網(wǎng)頁將數(shù)據(jù)保存到excel文件%0MEc爬取汽車之家口碑?dāng)?shù)據(jù)項(xiàng)目實(shí)訓(xùn)(二)實(shí)現(xiàn)流程使用Selenium打開汽車之家網(wǎng)站,獲取頁面的

HTML

源碼創(chuàng)建一個(gè)ChromeOptions對(duì)象,并添加了一些參數(shù)來配置瀏覽器選項(xiàng);通過指定ChromeDriver

的路徑和選項(xiàng)來創(chuàng)建一個(gè)WebDriver

對(duì)象,用它來控制瀏覽器進(jìn)行打開指定網(wǎng)頁和獲取網(wǎng)頁HTML代碼的操作;通過XPath

解析器Imstring()將HTML

代碼轉(zhuǎn)換成可操作的樹形結(jié)構(gòu),返回給調(diào)用者。爬取汽車之家口碑?dāng)?shù)據(jù)項(xiàng)目

溫馨提示

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

評(píng)論

0/150

提交評(píng)論