版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年叉車租賃租賃服務(wù)細(xì)則合同協(xié)議
- 2026年電商運(yùn)單服務(wù)合同
- 家長介紹輔導(dǎo)孩子課件
- 2026年安防監(jiān)控系統(tǒng)調(diào)試合同協(xié)議
- 2026年宴會(huì)保潔服務(wù)合同協(xié)議
- 2026年網(wǎng)紅帶貨合作框架合同
- 2026年兒童繪本出版預(yù)付款合同協(xié)議書
- 大棚承包合同
- 培訓(xùn)教師安全教育內(nèi)容課件
- 培訓(xùn)優(yōu)化課件管理辦法
- 2025年【教導(dǎo)處】年度工作總結(jié):向課堂深處走向質(zhì)量高處行【課件】
- 2025年人保車險(xiǎn)理賠試題及答案
- DB15∕T 4031-2025 建設(shè)項(xiàng)目水資源論證表編制導(dǎo)則
- 2025年合肥市檔案館公開招聘政府購買服務(wù)崗位人員2名備考考試試題及答案解析
- 計(jì)量課題立項(xiàng)申報(bào)書范文
- (2025版)成人肺功能檢查技術(shù)進(jìn)展及臨床應(yīng)用指南課件
- 自動(dòng)化設(shè)備維護(hù)保養(yǎng)指導(dǎo)手冊(cè)
- 飲用水法律法規(guī)培訓(xùn)課件
- 物料供應(yīng)商遴選制度
- 伊利并購澳優(yōu)的財(cái)務(wù)績效分析
- 有限空間大型污水井作業(yè)工崗位考試試卷及答案
評(píng)論
0/150
提交評(píng)論