版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
《Python人工智能技術與應用》能力模塊二
掌握Python人工智能的基礎應用任務二完成Python網(wǎng)絡爬蟲實訓TaskImport任務導入
BI產(chǎn)品需要大量的高質(zhì)量的數(shù)據(jù),該商業(yè)咨詢公司已擁有的數(shù)據(jù)量無法形成較大的數(shù)據(jù)規(guī)模,現(xiàn)需要解決數(shù)據(jù)的來源問題。你作為該公司商業(yè)智能團隊中的Python爬蟲工程師,你的主要職責是開發(fā)和維護一個自動化的爬蟲系統(tǒng),從互聯(lián)網(wǎng)上獲取大量的數(shù)據(jù)。素養(yǎng)目標引導問題的過程中,培養(yǎng)學生形成勤于思考的能力獲得分析解決問題以及多元化思考解決問題的方法,形成創(chuàng)新意識。TaskObject任務目標知識目標認識網(wǎng)絡爬蟲的基本流程。了解Python爬蟲工具庫及其使用方法。了解Python實現(xiàn)網(wǎng)絡爬蟲的流程及其Python實現(xiàn)。掌握使用Selenium庫實現(xiàn)對汽車之家網(wǎng)站的連接和訪問。技能目標掌握使用Lxml庫實現(xiàn)對汽車之家網(wǎng)站的解析。掌握使用xlswriter實現(xiàn)對爬取后的汽車之家口碑數(shù)據(jù)進行保存。能夠思考確定Python爬取汽車之家口碑數(shù)據(jù)的整體思路,培養(yǎng)開拓進取的職業(yè)態(tài)度。新
授CONTENTS目錄網(wǎng)絡爬蟲基本流程01常見Python爬蟲工具庫02爬取汽車之家口碑數(shù)據(jù)項目實訓0301難以滿足不同用戶的檢索目的和需求有限的搜索引擎服務器資源與無限的網(wǎng)絡數(shù)據(jù)資源之間的矛盾圖片、數(shù)據(jù)庫、音頻、視頻多媒體等不同數(shù)據(jù)的發(fā)現(xiàn)和獲取基于關鍵字的檢索難以支持基于語義信息的查詢。網(wǎng)絡爬蟲基本流程搜索引擎可以幫助人們檢索信息,如百度、搜狗、谷歌等,但也存在一定的局限性。01網(wǎng)絡爬蟲基本流程網(wǎng)絡爬蟲(又稱網(wǎng)頁蜘蛛,網(wǎng)絡機器人,在FOAF社區(qū)中間,更經(jīng)常地被稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本。網(wǎng)絡爬蟲是一種程序,可以自動化地從互聯(lián)網(wǎng)上收集信息。確定要爬取的網(wǎng)站和頁面發(fā)送HTTP請求解析HTML內(nèi)容提取數(shù)據(jù)存儲數(shù)據(jù)循環(huán)迭代網(wǎng)絡爬蟲概念網(wǎng)絡爬蟲基本流程01網(wǎng)絡爬蟲基本流程當目標網(wǎng)站響應請求時,它會返回一個HTML文檔。你需要解析HTML文檔,以提取你感興趣的信息。Python中常用的解析庫有BeautifulSoup和Ixml等。解析HTML內(nèi)容一旦你解析了HTML內(nèi)容,你需要提取你需要的數(shù)據(jù)。你可以使用Pvthon中的正則表達式或解析庫提供的工具來查找和提取信息。提取數(shù)據(jù)首先,你需要確定要爬取的網(wǎng)站和頁面。你可以選擇從一個或多個網(wǎng)站開始,然后選擇要爬取的頁面。確定要爬取的網(wǎng)站和頁面在開始爬取之前,需要向目標網(wǎng)站發(fā)送HTTP請求。這可以通過使用Python中的請求庫(例如Requests庫)來完成。你需要向目標網(wǎng)站發(fā)送請求,并等待它們響應。發(fā)送HTTP請求01網(wǎng)絡爬蟲基本流程首先,你需要確定要爬取的網(wǎng)站和頁面。你可以選擇從一個或多個網(wǎng)站開始,然后選擇要爬取的頁面。確定要爬取的網(wǎng)站和頁面在開始爬取之前,需要向目標網(wǎng)站發(fā)送HTTP請求。這可以通過使用Python中的請求庫(例如Requests庫)來完成。你需要向目標網(wǎng)站發(fā)送請求,并等待它們響應。發(fā)送HTTP請求網(wǎng)絡爬蟲的基本流程示意圖常見Python爬蟲工具庫02(一)Selenium庫序號描述命令1創(chuàng)建一個Chrome瀏覽器對象driver=webdriver.Chrome()2打開指定的網(wǎng)頁driver.get(url)3查找一個網(wǎng)頁元素,通過XPath定位element=driver.find_element_by_xpath(xpath)4查找一個網(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獲取當前網(wǎng)頁源代碼driver.page_source9返回上一個網(wǎng)頁driver.back()Python的Selenium庫是一個用于自動化測試和網(wǎng)頁爬取的工具,它可以模擬用戶在瀏覽器中的操作,如打開網(wǎng)頁、填寫表單、點擊按鈕等,可以對JavaScript生成的內(nèi)容進行操作,并獲取網(wǎng)頁中的數(shù)據(jù)。右表為Selenium庫操作流程。常見Python爬蟲工具庫02(二)Lxml庫Python的Lxml庫是一個用于處理XML和HTML文檔的Python庫,它是基于C實現(xiàn)的,具有高性能和高效率的特點。Lxml庫提供了ElementTreeAPI的增強版,支持XPath和CSS選擇器等高級功能,能夠?qū)ML和HTML文檔進行解析、修改和生成等操作。右表為Lxml庫操作流程。序號描述命令1導入lxml庫中的etree模塊fromlxmlimportetree2將HTML字符串轉(zhuǎn)換為lxml.etree._Element對象etree.HTML(html_string)3將HTML文件解析為lxml.etree._ElementTree對象etree.parse(file_path)4在元素中使用XPath表達式搜索子元素并返回結果列表etree.xpath(xpath_expression)5獲取元素的指定屬性值etree.get('attribute_name')6獲取元素的文本內(nèi)容etree.text7獲取元素的標簽名稱etree.tag8獲取元素的父元素etree.getparent()9查找所有具有指定標簽名稱的子元素etree.findall('tag_name')10查找第一個具有指定標簽名稱的子元素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爬蟲工具庫02(三)xlsxwriter庫xlsxwriter是Python的第三方庫,用于在Excel文件中創(chuàng)建和編輯電子表格。它提供了許多功能,如自動調(diào)整列寬、格式化單元格、插入圖表和公式等。右表為xlsxwriter庫操作流程。序號描述指令1安裝xlswriterpipinstallXlsxWriter2創(chuàng)建Excel文件#創(chuàng)建一個新的Excel文件workbook=xlsxwriter.Workbook('example.xlsx')3創(chuàng)建工作表#創(chuàng)建一個名為“Sheet1”的工作表worksheet=workbook.add_worksheet('Sheet1')4編寫數(shù)據(jù)#寫入數(shù)據(jù)到單元格(A1)worksheet.write('A1','Hello')5指定單元格格式#創(chuàng)建文本格式對象text_format=workbook.add_format({'num_format':'@'})#在單元格(A2)寫入文本,并應用文本格式worksheet.write('A2','World',text_format)#創(chuàng)建數(shù)字格式對象num_format=workbook.add_format({'num_format':'0.00'})#在單元格(B1)寫入數(shù)字,并應用數(shù)字格式worksheet.write('B1',123.456,num_format)6保存Excel文件#關閉Excel文件workbook.close()03汽車之家是一個汽車行業(yè)門戶網(wǎng)站,它提供了廣泛的汽車信息,包括汽車口碑數(shù)據(jù)。汽車之家的口碑數(shù)據(jù)是基于用戶提交的評論、評分和其他數(shù)據(jù)編制的??刹捎萌缦路绞綄崿F(xiàn)案例:爬取汽車之家口碑數(shù)據(jù)項目實訓(一)實現(xiàn)思路使用Selenium打開汽車之家網(wǎng)站
使用Lxml庫解析網(wǎng)頁
將數(shù)據(jù)保存到excel文件03爬取汽車之家口碑數(shù)據(jù)項目實訓(二)實現(xiàn)流程使用Selenium打開汽車之家網(wǎng)站,獲取頁面的HTML源碼創(chuàng)建一個ChromeOptions對象,并添加了一些參數(shù)來配置瀏覽器選項;通過指定ChromeDriver的路徑和選項來創(chuàng)建一個WebDriver對象,用它來控制瀏覽器進行打開指定網(wǎng)頁和獲取網(wǎng)頁HTML代碼的操作;通過XPath解析器lxml.html.fromstring()將HTML代碼轉(zhuǎn)換成可操作的樹形結構,返回給調(diào)用者。03爬取汽車之家口碑數(shù)據(jù)項目實訓
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教程教案上學期
- 玉溪師范學院《現(xiàn)代教育技術應用》2021-2022學年第一學期期末試卷
- 玉溪師范學院《小學語文教學設計與實踐訓練》2022-2023學年第一學期期末試卷
- 影視鑒賞教育課件
- 塊料樓地面施工工藝
- 2024年紅外光學測量雷達項目評價分析報告
- 2023年復配色粉項目綜合評估報告
- 2024屆貴州安順市平壩區(qū)集圣中學高三下學期3月統(tǒng)一聯(lián)合考試數(shù)學試題
- 倉儲配送合同流程
- 采購合同資金結算流程
- 醫(yī)務部運用PDCA循環(huán)提高醫(yī)院日間手術量PDCA成果匯報
- 高中教學經(jīng)驗交流發(fā)言稿
- 廣東開放改革開放史(本專23春)-第七單元形成性考核0
- 小學希望之星看圖說話分類整理
- 高中區(qū)域地理非洲
- 第六單元 第7課時 解決問題(一)(教學設計)-三年級數(shù)學上冊 人教版
- 廣東輕工職業(yè)技術學院職業(yè)教育專業(yè)教學資源庫建設管理辦法
- GB/T 3499-2003原生鎂錠
- 從你的全世界路過讀書筆記作品課件
- 初中道德與法治人教九年級下冊我們共同的世界《放眼全球經(jīng)濟》PPT
- 數(shù)據(jù)安全培訓課件PPT(32張)
評論
0/150
提交評論