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

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

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

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

圖1 Chrome的擴(kuò)展程序

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

圖2安裝了擴(kuò)展程序的Chrome

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

圖3 XPath_Helper使用

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

首先,獲取lol吧的關(guān)注數(shù)量,按住shift,鼠標(biāo)懸停在關(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']

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

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

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

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

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

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

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

>>本文地址:http://hqfphsz.com/zhuanye/2020/61673.html

THE END  

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

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

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

快速通道fast track

近期開(kāi)班時(shí)間TIME