400-650-7353
您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎(chǔ)知識】Chrome的XPath_Helper插件的用法

【Python基礎(chǔ)知識】Chrome的XPath_Helper插件的用法

  • 發(fā)布: python培訓
  • 來源:python干貨資料
  • 2020-11-27 11:34:45
  • 閱讀()
  • 分享
  • 手機端入口

在chrome瀏覽器輸入:chrome://extensions/,如圖1所示。

圖1 Chrome的擴展程序

在上面的界面中直接將XPath-Helper_v2.0.2.crx拖動至該擴展程序頁面,點擊確定即可。如果安裝失敗,彈框提示:無法從該網(wǎng)站添加應(yīng)用、擴展程序和用戶腳本,則打開開發(fā)者模式,將crx文件后綴修改為rar,并解壓成文件夾,點擊開發(fā)者模式中的加載已解壓的擴展程序按鈕,選擇解壓后的文件夾,點擊確定,安裝成功。安裝完這個插件的Chrome瀏覽器見圖2。其中XPath-Helper插件的圖標是黑底方框內(nèi)部為白色x。

圖2安裝了擴展程序的Chrome

安裝了XPath_Helper后,下面介紹一下XPath_Helper的用法。鼠標點擊XPath_Helper的圖標,然后在Chrome瀏覽器中上面部分就彈出了XPath_Helper界面。這時,用戶可以按住shift,把鼠標懸停在想要抓取的HTML頁面元素上,則在XPath_Helper界面左側(cè)窗口中顯示出這個HTML頁面元素帶屬性的XPath絕對路徑,而右側(cè)窗口顯示出該HTML頁面元素的內(nèi)容。具體如圖3所示。

圖3 XPath_Helper使用

下面采用XPath_Helper分析一下百度貼吧網(wǎng)站。擊XPath_Helper,獲得網(wǎng)頁上的各種元素的XPath信息。

首先,獲取lol吧的關(guān)注數(shù)量,按住shift,鼠標懸停在關(guān)注數(shù)量上,則XPath_Helper中得到了該HTML元素的XPath路徑:

/html/body[@class='skin_normal']/div[@class='wrap1']/div[@class='wrap2']/div[@class='header']/div[@id='pagelet_frs-header/pagelet/head']/div[@class='head_main']/div[@class='head_content']/div[@class='card_top_wrapclearfixcard_top_theme']/div[@class='card_topclearfix']/div[@class='card_title']/div[@class='card_num']/div[@id='pagelet_forum/pagelet/forum_card_number']/span/span[@class='card_menNum']

這是個絕對路徑,從網(wǎng)頁的根目錄開始,一般在編寫爬蟲程序時,這個路徑太長,不建議使用,可以用帶有唯一屬性的XPath相對路徑表示該元素,這時在XPath_Helper左側(cè)的框中修改XPath絕對路徑,思路是在Chrome開發(fā)工具的Elements中觀察這個元素對應(yīng)的HTML源代碼,如果這個標簽帶有類(class)屬性,則一般用這個代表該元素。例如把上述絕對路徑改為//span[@class='card_menNum'],在XPath_Helper右側(cè)的結(jié)果框中依然得到關(guān)注數(shù):12,913,346,則表明采用的XPath相對路徑是有效的,在寫爬蟲代碼時,采用這個相對路徑,即可找到該元素。

圖4展示了采用XPath相對路徑找到lol吧的關(guān)注數(shù)量的結(jié)果頁面。

圖4 獲取百度lol貼吧的關(guān)注數(shù)量

下面想獲得lol貼吧置頂帖子的標題這個信息,具體見圖5展示出的部分。這時發(fā)現(xiàn)采用XPath_Helper較難同時獲得這3個置頂帖子的XPath路徑,帶了屬性的標簽很長,看著有點暈。不要怕,采用Chrome開發(fā)工具中的“小箭頭”(即在網(wǎng)頁中選擇一個元素并查看它)來解決類似的問題。先點起這個按鈕,然后把鼠標懸停到想要查看的元素上,這時在Elements窗口中這個元素對應(yīng)的HTML源碼被高亮了,接著右鍵單擊這個高亮塊,在彈出菜單中選擇Copy,并在子菜單中選擇CopyXPath。然后把得到的內(nèi)容拷貝到XPath_Helper的左側(cè)窗口中,則右側(cè)窗口中得到了對應(yīng)的內(nèi)容。這時,XPath_Helper左側(cè)窗口中的內(nèi)容是//*[@id="thread_top_list"]/li[2]/div/div[2]/div/div[1]/a。接下來采用上面同樣的方法獲得其他置頂帖子標題的XPath相對路徑,并仔細觀察這幾個路徑。發(fā)現(xiàn)不同之處在于被反斜杠劃分出的第二部分li標簽中括號中的數(shù)字分別是1、2、3。這時可知這幾個置頂帖子是存放在id為thread_top_list這個大的ul標簽中,且被不同的li標簽包含著,所以把li標簽的中括號數(shù)字去掉,這時就能對應(yīng)上所有的置頂帖子標題,具體如圖5所示。

圖5 獲取百度lol貼吧的置頂帖子信息

如果對Python開發(fā)感興趣或者想要深入學習的現(xiàn)在可以免費領(lǐng)取學習大禮包哦(點擊領(lǐng)取80G課程資料 備注:領(lǐng)資料)。

文章“【Python基礎(chǔ)知識】Chrome的XPath_Helper插件的用法”已幫助

>>本文地址:http://liujunjsxg.cn/zhuanye/2020/61673.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內(nèi)設(shè)計室內(nèi)設(shè)計
  • 平面設(shè)計平面設(shè)計
  • 電商設(shè)計電商設(shè)計
  • 網(wǎng)頁設(shè)計網(wǎng)頁設(shè)計
  • 全鏈路UI/UE設(shè)計UI設(shè)計
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發(fā)智能機器人
 

快速通道fast track

近期開班時間TIME