




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
項目五抽取網(wǎng)頁數(shù)據(jù)目錄5.2【任務(wù)2】使用正則表達式提取網(wǎng)頁數(shù)據(jù)5.1【任務(wù)1】使用XPath提取網(wǎng)頁數(shù)據(jù)案例分析3在數(shù)據(jù)采集過程中,需要熟悉網(wǎng)頁的數(shù)據(jù)提取和拆分。本任務(wù)是使用GoogleChrome瀏覽器輔助構(gòu)造XPath提取浪潮官網(wǎng)中輪播圖下面的列表信息。需求描述案例分析4打開瀏覽器,找到對應(yīng)的網(wǎng)站地址。使用“檢查”的方式查看網(wǎng)頁源碼。使用GoogleChrome瀏覽器實現(xiàn)XPath路徑的保存。構(gòu)造截取信息的XPath。編寫代碼,使用python中的lxml截取所需信息。設(shè)計思路任務(wù)一使用XPath提取網(wǎng)頁數(shù)據(jù)5案例展示知識點講解6010203XPath安裝XPath簡介XPath語法XPath簡介XPath簡介XPath(XMLPath)是一種查詢語言,也稱為XML路徑語言,它能在XML(ExtensibleMarkupLanguage,可擴展標(biāo)記語言)和HTML的樹狀結(jié)構(gòu)中尋找結(jié)點,確定XML文檔中某部分位置的語言。形象一點來說,XPath就是一種根據(jù)“地址”來“找人”的語言。用XPath從HTML源代碼中提取信息可以大大提高效率。7XPath安裝在MacOS下安裝lxml如果操作系統(tǒng)為MacOS,可以直接使用pip。命令為pipinstalllxml,安裝lxml,如圖所示。8XPath安裝在Ubuntu下安裝lxml如果操作系統(tǒng)為Ubuntu,可以使用如下命令安裝lxml:sudoapt-getinstallpython-lxml9在Windows下安裝lxml如果操作系統(tǒng)為Windows,可以使用安裝pipinstalllxml進行安裝,但安裝成功幾率比較小。常用的安裝方法為:第一步:下載lxml文件,把lxml-3.7.3-cp36-cp36m-win_amd64.whl這個文件的擴展名由.whl改為.zip,使用WinRAR或者7-Zip等解壓縮工具來解壓這個文件。解壓以后,會得到兩個文件夾,如圖所示。XPath安裝10在Windows下安裝lxmlXPath安裝11在Windows下安裝lxml第二步:把它們復(fù)制到Python安裝文件夾下面的Lib\site-packages文件夾中即可,如圖所示。XPath安裝12在Windows下安裝lxml第三步:驗證lxml安裝是否安裝成功打開Python的交互環(huán)境,輸入importlxml,如果不報錯,就表示安裝成功,如圖所示。XPath語法基本語法使用Xpath需要從lxml庫中導(dǎo)入etree模塊,并使用HTML類對需要匹配的HTML對象進行初始化。HTML類的基本語法格式如下:Lmxl.etree.HTML(text,parase=None,*,base_url=None)HTML類的常用參數(shù)如表所示。13參數(shù)說明text接收str,表示需要轉(zhuǎn)換為HTML的字符串。parase接收str,表示選擇的HTML解析器。base_url接收str。表示文檔的元素URL,用于查找外部實體的相對路徑。默認為None。XPath語法基本語法Xpath也可以使用類似正則的表達式來匹配HTML文件中的內(nèi)容,常用匹配表達式如表所示。14表達式說明nodename選取nodename節(jié)點的所有子節(jié)點/從當(dāng)前節(jié)點選取直接子節(jié)點//從當(dāng)前節(jié)點選取子孫節(jié)點.選取當(dāng)前節(jié)點..選取當(dāng)前節(jié)點的父節(jié)點@選取屬性XPath語法謂語查找某個特定的節(jié)點或包含某個指定值的節(jié)點可以使用Xpath中的謂語,通常被嵌在路徑后的方括號中,如表所示。15表達式說明/html/body/div[1]選取屬于body子節(jié)點下的第一個div節(jié)點/html/body/div[last()]選取屬于body子節(jié)點下的最后一個div節(jié)點/html/body/div[last()-1]選取屬于body子節(jié)點下的倒數(shù)第二個div節(jié)點/html/body/div[positon()<3]選取屬于body子節(jié)點下的下前兩個div節(jié)點/html/body/div[@id]選取屬于body子節(jié)點下的帶有id屬性的div節(jié)點/html/body/div[@id=”content”]選取屬于body子節(jié)點下的id屬性值為content的div節(jié)點/html/body/div[xx>10.00]選取屬于body子節(jié)點下的xx元素值大于10的節(jié)點XPath語法功能函數(shù)當(dāng)對象僅掌握了其部分特征,需要模糊搜索該類對象時,可使用Xpath中提供的功能函數(shù)進行模糊搜索,具體函數(shù)如表所示。16功能函數(shù)示例說明starts-with//div[starts-with(@id,”co”)]選取id值以co開頭的div節(jié)點contains//div[contains(@id,”co”)]選取id值包含co的div節(jié)點and//div[contains(@id,”co”)andcontains(@id,”en”)]選取id值包含co和en的div節(jié)點text()//li[contains(text(),”first”)]選取節(jié)點文本包含first的div節(jié)點目錄5.2【任務(wù)2】使用正則表達式提取網(wǎng)頁數(shù)據(jù)5.1【任務(wù)1】使用XPath提取網(wǎng)頁數(shù)據(jù)案例分析18在爬蟲的開發(fā)中,需要把有用的信息從一大段文本中提取出來。正則表達式是提取信息的方法之一。本任務(wù)是使用python正則表達式拆分浪潮官網(wǎng)的數(shù)據(jù)。需求描述案例分析19打開編輯器,引入使用正則表達式所需要的包。模擬瀏覽器請求,請求浪潮官網(wǎng)的數(shù)據(jù)。使用findall方法匹配所有的<h3>標(biāo)題。使用正則表達式提取所有的鏈接。設(shè)計思路任務(wù)二使用正則表達式提取網(wǎng)頁內(nèi)容20案例展示知識點講解21010203Python正則表達式模塊正則表達式簡介正則表達式的基本符號正則表達式簡介正則表達式簡介正則表達式(RegularExpression)簡稱Regex或RE,又稱為正規(guī)表示法或常規(guī)表示法。常用于檢索、替換符合某個模式的文本,正則表達式是一段字符串,它可以表示一段有規(guī)律的信息。Python自帶一個正則表達式模塊,通過這個模塊可以查找、提取、替換一段有規(guī)律的信息。在程序開發(fā)中,要讓計算機程序從一大段文本中找到需要的內(nèi)容,就可以使用正則表達式來實現(xiàn)。22Python正則表達式模塊Python正則表達式模塊23Python標(biāo)準(zhǔn)庫中的re模塊提供正則表達式的全部功能,可以直接引入。importre使用re的一般步驟如下:第一步:將正則表達式的字符串形式編譯為Pattern實例。第二步:使用Pattern實例處理文本并獲取匹配結(jié)果。第三步:使用Match實例獲得信息,進行其他的操作。Python正則表達式模塊re模塊中常用的方法24方法說明compile將正則表達式的字符串轉(zhuǎn)化為Pattern匹配對象match將輸入的字符串從頭開始對輸入的正則表達式進行匹配,一直向后直至遇到無法匹配的字符或到達字符串末尾,將立即返回None,否則獲取匹配結(jié)果search將輸入的字符串整個掃描,對輸入的正則表達式進行匹配,獲取匹配結(jié)果,否則輸出Nonesplit按照能夠匹配的字符串作為分隔符,將字符串分割后返回一個列表findall搜索整個字符串,返回一個列表包含全部能匹配的子串finditer與findall方法作用類似,以迭代器的形式返回結(jié)果sub使用指定內(nèi)容替換字符串中匹配的每一個子串內(nèi)容正則表達式的基本符號點號“.”25一個點號可以代替除了換行符以外的任何一個字符,包括但不限于英文字母、數(shù)字、漢字、英文標(biāo)點符號和中文標(biāo)點符號。星號“*”一個星號可以表示它前面的一個子表達式(普通字符、另一個或幾個正則表達式符號)0次到無限次。正則表達式的基本符號問號“?”26問號表示它前面的子表達式0次或者1次。注意,這里的問號是英文問號。反斜杠“\”反斜杠在正則表達式里面不能單獨使用,甚至在整個Python里都不能單獨使用。反斜杠需要和其他的字符配合使用來把特殊符號變成普通符號,把普通符號變成特殊符號。反斜杠不僅可以把特殊符號變成普通符號,還可以把普通符號變成特殊符號。正則表達式的基本符號轉(zhuǎn)義字符27轉(zhuǎn)義字符意義\n換行符\t制表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機軟件測試的團隊協(xié)作模式試題及答案
- 教育政策與社會穩(wěn)定性的關(guān)系試題及答案
- 軟件設(shè)計師備考復(fù)習(xí)資料試題及答案
- 有效的公共政策實施策略試題及答案
- 突出重點的軟件設(shè)計師考試試題及答案
- 機電工程考試內(nèi)容概述及試題答案
- 網(wǎng)絡(luò)流量控制試題及答案
- 西方國家發(fā)展中的政治沖突試題及答案
- 項目管理師考試簡易科目及試題答案
- 軟考網(wǎng)絡(luò)工程師思考方式試題及答案
- 2024年經(jīng)內(nèi)鏡消化系統(tǒng)常見惡性腫瘤組織取樣及類器官培養(yǎng)專家共識(完整版)
- 夏季養(yǎng)心知識講座
- 2024年考研英語真題及答案(完整版)
- 寵物藥品研究報告-中國寵物藥品市場深度全景調(diào)研及投資前景分析報告2024年
- 腫瘤病人護理講課
- 酒店會議應(yīng)急預(yù)案
- 數(shù)據(jù)質(zhì)量管理辦法(2023年版)
- 《瘋狂動物城》全本臺詞中英文對照
- 中學(xué)物理教材教法復(fù)習(xí)題
- 中職英語基礎(chǔ)模塊一Unit 8 People and events Reading
- 供應(yīng)商黑名單
評論
0/150
提交評論