爬蟲(chóng)爬取數(shù)據(jù) 請(qǐng)問(wèn)一下你知道如何用爬蟲(chóng)爬取到動(dòng)態(tài)的JS寫的網(wǎng)站信息嗎?
請(qǐng)問(wèn)一下你知道如何用爬蟲(chóng)爬取到動(dòng)態(tài)的JS寫的網(wǎng)站信息嗎?當(dāng)我使用jsup編寫爬蟲(chóng)程序時(shí),我通常會(huì)遇到HTML不返回的內(nèi)容。但是瀏覽器顯示了一些東西。所有這些都是分析頁(yè)的HTTP請(qǐng)求日志。分析頁(yè)面JS代
請(qǐng)問(wèn)一下你知道如何用爬蟲(chóng)爬取到動(dòng)態(tài)的JS寫的網(wǎng)站信息嗎?
當(dāng)我使用jsup編寫爬蟲(chóng)程序時(shí),我通常會(huì)遇到HTML不返回的內(nèi)容。但是瀏覽器顯示了一些東西。所有這些都是分析頁(yè)的HTTP請(qǐng)求日志。分析頁(yè)面JS代碼來(lái)解決問(wèn)題。1某些頁(yè)面元素被隱藏->替換選擇器解決方案2。一些數(shù)據(jù)保存在JS/JSON對(duì)象中->截取相應(yīng)的字符串,分析并求解3。通過(guò)API接口調(diào)用-> forge請(qǐng)求獲取數(shù)據(jù)。還有一個(gè)終極方法4。使用無(wú)頭瀏覽器,如phantomjs或casperjs
動(dòng)態(tài)加載的數(shù)據(jù)由用戶通過(guò)鼠標(biāo)或鍵盤執(zhí)行,在操作后加載。
所以我們使用selenium提供的webdriver工具調(diào)用本地瀏覽器,讓程序代替人類行為,滾動(dòng)頁(yè)面,單擊按鈕,提交表單等等。從而得到所需的數(shù)據(jù)。所以我認(rèn)為使用selenium方法抓取動(dòng)態(tài)頁(yè)面的中心思想是模擬人類行為。