您現在的位置是:首頁 >生活 > 2024-02-15 03:54:33 來源:
如何抓取網頁的數據自動填表知乎(如何抓取網頁上的數據)
導讀 大家好,我是小夏,我來為大家解答以上問題。如何抓取網頁的數據自動填表知乎,如何抓取網頁上的數據很多人還不知道,現在讓我們一起來看看...
大家好,我是小夏,我來為大家解答以上問題。如何抓取網頁的數據自動填表知乎,如何抓取網頁上的數據很多人還不知道,現在讓我們一起來看看吧!
首先明確我指的動態數據是什么。
名詞定義:動態數據在這里指的是網頁中由Javascript動態生成的頁面內容,即網頁源文件中沒有,在頁面加載到瀏覽器后動態生成的。
下面進入正題。
抓取靜態頁面很簡單,通過Java獲取到html源碼,然后分析源碼即可得到想要的信息。如獲取中國天氣網中杭州的天氣,只需要找到對應的html頁面(http://www.weather.com.cn/weather/101210101.shtml)。
假設我需要輸入城市名稱獲取改城市的天氣,數據源還是采用中國天氣網。首先要做的是根據城市找到對應的頁面。通過簡單分析發現,城市與頁面的URL有對應,如杭州對應101210101,所以程序的關鍵就是找到城市與頁面的對應關系。
發現該網站的搜索框有中國大多數城市的鏈接,可以得到城市與_id的對應關系。找到突破口,開始行動。進入首頁,查看其源代碼,找到搜索框所在位置。
原來數據是通過Javascript動態加進去的,用Chrome的inspect element看到以下內容。
目前可以做的是利用Chrome將html復制到文件,然后解析該文件得到城市與URL的關系。問題是萬一網站的城市與URL對應關系有變化,這就很被動還需改程序。
現在的問題是如何用Java獲取Javascript動態生成的html內容,不知大家有什么看法。
本文到此講解完畢了,希望對大家有幫助。