iT邦幫忙

0

XPath工具| Octoparse文檔

  • 分享至 

  • xImage
  •  

為了幫助您開始使用XPath,本節將幫助您快速建立對XPath的基本了解,並在Web抓取工具Octoparse中介紹其應用。

內容:

  • 什麼是XPath?
  • 如何編寫XPath?
  • 什麼是Octoparse XPath工具?
  • 為什麼在使用Octoparse時需要編寫XPath?

1.什麼是XPath?

XPath(XML路徑語言)是一種查詢語言,用於從XML / HTML文檔中選擇元素。它可以幫助您準確,快速地從整個文檔中查找元素。

網頁通常使用稱為HTML的語言。如果您在瀏覽器(Chrome,Firefox等)上加載網頁,則可以通過按F12鍵輕鬆訪問相應的HTML文檔。您在網頁上看到的所有內容都可以在HTML中找到,例如圖像,文本塊,鏈接等。
1.png

讓我們看下面的示例,以進一步說明XPath的工作原理。
2.png

該圖像是HTML文檔的一部分。很容易注意到,此HTML部分中的元素分為3個級別。

第1級:書店

第2級:書籍

第3級:標題,作者,年份和價格。

帶尖括號()的文本稱為標籤。HTML元素通常由開始標籤和結束標籤組成,內容插入在兩者之間。

內容在這裡... </ tagname>

XPath使用“ /”從頂部到底部連接不同級別的標籤,以指定元素的位置。對於我們的示例,如果我們要定位元素“ author”,則XPath將類似於:

/ bookstore / book / author

如下圖所示,這與文件結構非常相似。

3.png

我們可以得出結論,XPath是用於在HTML文檔中定位精確位置的地址。

2.如何編寫XPath?

如果您了解HTML的邏輯和XPath的語法,那麼編寫XPath很容易。

聽起來容易嗎?然而,它需要一些時間來學習。這是一些對初學者有用的教程,至少對我而言。

HTML教程

XPath教程

XPath基本

為了使您更輕鬆,這是一些有用的XPath表達式的備忘單,可幫助您快速定位HTML中的所有元素。

01.png

02.png

03.png

*請注意,屬性和文本值均區分大小寫。
*對於XPath表達式的更詳盡的列表,這里

3.什麼是XPath工具

我們知道編寫XPath的基本規則,可以開始編寫了。恭喜你!

但是,我們怎麼知道XPath是否正確?在這種情況下,我們應該使用XPath工具來進行驗證。

我想推薦2個XPath工具。

-Octoparse XPath工具

Octoparse提供了一個XPath工具來幫助您輕鬆編寫XPath。它是用Octoparse工具內置的:

在Octoparse XPath Tool上查看詳細說明。

-Chrome附加組件:XPath幫助器

XPath Helper是一個出色的chrome擴展程序,它使您可以通過將鼠標懸停在瀏覽器上的元素上來查找XPath。您也可以直接在控制台中編輯XPath查詢。您將立即獲得結果,以便知道您的XPath是否正常工作。

1585901457783.png

4.為什麼在使用Octoparse時需要編寫XPath?

Octoparse是一個網絡抓取工具,可幫助創建搜尋器以自動在線收集數據。

Yes

Octoparse中的XPath是告訴Octoparse做什麼的命令。一般來說,它可以自動檢測數據字段的XPath,而無需太多相互配合。但是,我們仍然可以通過編寫XPath使它更精確地工作。

例如,如果我們想在Octoparse中創建一個分頁循環,那麼我們應該告訴Octoparse應該單擊哪個鏈接。在這種情況下,我將以IMDb網站為例。

在Octoparse中打開網站後,我們可以單擊“下一步>>”,然後在“操作”提示上選擇“循環單擊下一頁”以創建分頁循環。
1585902565445.png

此圖像指示分頁,告訴Octoparse單擊的地方。自動生成的XPath是// DIV [@ class ='nav'] / DIV [2] / A [1]。XPath似乎工作正常,但是進入下一頁後,我們會注意到XPath定位為“ << previous”。

1585904595469.png

因此,在這種情況下,我們最好在Octoparse中修改XPath。

此外,XPath還將用於重新定位要提取的數據字段。

到此為止。如果您對如何更有效地學習XPath有更好的想法,請在下面留下評論!


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

我要留言

立即登入留言