![使用 Excel 從線上社群抓取 XPath 數據](https://rvso.com/image/1449105/%E4%BD%BF%E7%94%A8%20Excel%20%E5%BE%9E%E7%B7%9A%E4%B8%8A%E7%A4%BE%E7%BE%A4%E6%8A%93%E5%8F%96%20XPath%20%E6%95%B8%E6%93%9A.png)
我最近讀過這篇文章文章關於如何使用 Excel 抓取 Inbound.org 社群成員個人資料。並且您可以觀看影片如果你喜歡這樣的話就在這裡。
自從本教學發布以來,入站網站結構發生了一些變化,正如您在影片中的 11:00 分鐘看到的那樣,如果您嘗試複製社交媒體圖示的 XPath,它看起來會略有不同,因此我無法提取該資訊。
這是我現在得到的:
/html/body/div[3]/div/div/div[1]/div/div[2]/a[1]/i
這就是我在 Excel 中編寫語法的方式:
=XPathOnUrl(A2,"//a[@class='twitter']","href")
然後像這樣:
=XPathOnUrl(A2,"//a[contains(@class,twitter)]/@href")
儘管我嘗試了許多不同的方式,但沒有一個向我顯示該成員社交媒體個人資料的連結。
我什至嘗試以多種方式更改 xpath 以從頁面獲取不同的數據,但都不是社交媒體資訊:
=XPathOnUrl(A2,"//*[contains(@class,member-banner-tagline)]/div[2]/div/div/div[1]/div/div[1]")
=XPathOnUrl(A2,"//*[contains(@class,member-banner-tagline)]/div[2]/div/div/div[1]/div/h1")
老實說,我不知道該再嘗試什麼,出了什麼問題,我無法弄清楚。有人對此有足夠的經驗,或者可以用我的語法找出這裡的問題嗎?
多謝
答案1
根據 Firefox/Firebug,用戶 Twitter URL 的唯一 XPath 是:
/html/body/div[2]/div/div/div[1]/div/div[2]/a[1]
這與您的第一次嘗試略有不同。注意:我已經修改了我的第一次嘗試,您不希望/i
最後出現 ,或者您得到的是內部元素而不是<a>
帶有 url 的 。
但是,您的第二次嘗試肯定會找到包含 URL 的正確 HTML 元素,而且它更加可靠。
您的第三次嘗試不適用於 XPathOnUrl,儘管它適用於 Google Docs ImportXML,因為它不支援屬性語法。