我試圖寫一個簡單的腳本,只需檢查網頁的特定值:從猛砸
$("a#infgHeader").text() == "Delivered";
我想從一個bash腳本來自動執行此每隔一段時間運行一次。我用Python也很好。我需要實質上發出一個HTTP請求,獲得響應,並有一種方法來智能地查詢結果。有沒有一個庫可以幫助我查詢部分?
我試圖寫一個簡單的腳本,只需檢查網頁的特定值:從猛砸
$("a#infgHeader").text() == "Delivered";
我想從一個bash腳本來自動執行此每隔一段時間運行一次。我用Python也很好。我需要實質上發出一個HTTP請求,獲得響應,並有一種方法來智能地查詢結果。有沒有一個庫可以幫助我查詢部分?
Xpath非常適合查詢html。
事情是這樣的:
//a[@id='infgHeader']/@text
Chrome開發工具,您可以使用搜索框的元素標籤來測試表達。在終端
快速運行:
$echo '<div id="test" text="foo">Hello</div>' | xpath '//div[@id="test"]/@text'
Found 1 nodes:
-- NODE --
text="foo"
http://pypi.python.org/pypi/spynner/1.10
Spynner會讓你選擇使用jQuery語法從DOM元素。
還有其他的庫可以讓你解析HTML。 BeautifulSoup,lxml
固定鏈接:https://pypi.python.org/pypi/spynner/ – 2016-04-09 02:23:08
Alex MacCaw寫了一篇不錯的文章,講述了您使用node.js/JavaScript時所要求的。它也帶來了很多功能。
要解析HTML是不平凡普通的網站,因爲HTML可能不太守和DOM可以通過Java的腳本在運行時被修改,所以在這種情況下,解析HTML可能沒有意義。
最好的辦法是使用瀏覽器直接訪問DOM中,你可以使用一個無頭的瀏覽器,如phontomjs,所以你可以編寫腳本,並檢查任何你需要檢查
萬歲XPATH!我想知道這是否有幫助。我不知道,因爲HTML!= XML,但是,嘿,如果它工作,它的工作原理。 – 2012-02-29 19:33:49
正確的語法似乎是'xpath -e ...'。 – Tgr 2016-03-23 14:38:03
'xpath'與非嚴格的XML HTML代碼很差。當它在100行的HTML片段上運行時,它會凍結一分鐘,然後隨着「不匹配的標籤」錯誤而死亡,顯然是因爲代碼有''而不是''。 – Tgr 2016-03-23 14:48:19