為了幫助您開始使用XPath,本節將幫助您快速建立對XPath的基本了解,並在Web抓取工具Octoparse中介紹其應用。
內容:
1.什麼是XPath?
XPath(XML路徑語言)是一種查詢語言,用於從XML / HTML文檔中選擇元素。它可以幫助您準確,快速地從整個文檔中查找元素。
網頁通常使用稱為HTML的語言。如果您在瀏覽器(Chrome,Firefox等)上加載網頁,則可以通過按F12鍵輕鬆訪問相應的HTML文檔。您在網頁上看到的所有內容都可以在HTML中找到,例如圖像,文本塊,鏈接等。
讓我們看下面的示例,以進一步說明XPath的工作原理。
該圖像是HTML文檔的一部分。很容易注意到,此HTML部分中的元素分為3個級別。
第1級:書店
第2級:書籍
第3級:標題,作者,年份和價格。
帶尖括號()的文本稱為標籤。HTML元素通常由開始標籤和結束標籤組成,內容插入在兩者之間。
內容在這裡... </ tagname>
XPath使用“ /”從頂部到底部連接不同級別的標籤,以指定元素的位置。對於我們的示例,如果我們要定位元素“ author”,則XPath將類似於:
/ bookstore / book / author
如下圖所示,這與文件結構非常相似。
我們可以得出結論,XPath是用於在HTML文檔中定位精確位置的地址。
2.如何編寫XPath?
如果您了解HTML的邏輯和XPath的語法,那麼編寫XPath很容易。
聽起來容易嗎?然而,它需要一些時間來學習。這是一些對初學者有用的教程,至少對我而言。
為了使您更輕鬆,這是一些有用的XPath表達式的備忘單,可幫助您快速定位HTML中的所有元素。
*請注意,屬性和文本值均區分大小寫。
*對於XPath表達式的更詳盡的列表,這里。
3.什麼是XPath工具
我們知道編寫XPath的基本規則,可以開始編寫了。恭喜你!
但是,我們怎麼知道XPath是否正確?在這種情況下,我們應該使用XPath工具來進行驗證。
我想推薦2個XPath工具。
Octoparse提供了一個XPath工具來幫助您輕鬆編寫XPath。它是用Octoparse工具內置的:
在Octoparse XPath Tool上查看詳細說明。
-Chrome附加組件:XPath幫助器
XPath Helper是一個出色的chrome擴展程序,它使您可以通過將鼠標懸停在瀏覽器上的元素上來查找XPath。您也可以直接在控制台中編輯XPath查詢。您將立即獲得結果,以便知道您的XPath是否正常工作。
4.為什麼在使用Octoparse時需要編寫XPath?
Octoparse是一個網絡抓取工具,可幫助創建搜尋器以自動在線收集數據。
Octoparse中的XPath是告訴Octoparse做什麼的命令。一般來說,它可以自動檢測數據字段的XPath,而無需太多相互配合。但是,我們仍然可以通過編寫XPath使它更精確地工作。
例如,如果我們想在Octoparse中創建一個分頁循環,那麼我們應該告訴Octoparse應該單擊哪個鏈接。在這種情況下,我將以IMDb網站為例。
在Octoparse中打開網站後,我們可以單擊“下一步>>”,然後在“操作”提示上選擇“循環單擊下一頁”以創建分頁循環。
此圖像指示分頁,告訴Octoparse單擊的地方。自動生成的XPath是// DIV [@ class ='nav'] / DIV [2] / A [1]。XPath似乎工作正常,但是進入下一頁後,我們會注意到XPath定位為“ << previous”。
因此,在這種情況下,我們最好在Octoparse中修改XPath。
此外,XPath還將用於重新定位要提取的數據字段。
到此為止。如果您對如何更有效地學習XPath有更好的想法,請在下面留下評論!