爬取虎牙之二:试用htmlunit模拟js爬取ajax页面
生活随笔
收集整理的這篇文章主要介紹了
爬取虎牙之二:试用htmlunit模拟js爬取ajax页面
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
- jsoup無(wú)法爬取動(dòng)態(tài)的ajax界面,百度了許久之后有人說(shuō)htmlunit等爬蟲(chóng)工具可以支持模擬瀏覽器行為,百度上查了htmlunit的簡(jiǎn)單用法,爬取虎牙直播分欄的js鏈接。模擬點(diǎn)擊。獲取點(diǎn)擊后的下一個(gè)頁(yè)面。
- 有人說(shuō)用htmlunit獲取不到ajax的頁(yè)面,答案是錯(cuò)誤的,用htmlunit可以獲取點(diǎn)擊后的頁(yè)面源碼,但是使用很有條件,對(duì)于輸出。他只能打印一個(gè)js行為,也就是如果你界面上有多喝動(dòng)態(tài)生成的頁(yè)面按鈕比如2.3.4**下一個(gè)。你要做的只能選擇一個(gè)。如果想選擇遍歷所有,看來(lái)還是要選擇下一頁(yè),然后將下一頁(yè)再?gòu)男聢?zhí)行同樣的操作(我沒(méi)有這樣試過(guò)不知道行不行,我用的是另外方法)。想想就很煩,并且htmlunit加載js很慢,如果爬取效率特別低。但是代碼以及測(cè)試簡(jiǎn)單給大家:
- 有個(gè)重要點(diǎn)就是一定要有thread.sleep();可能js執(zhí)行慢需要反應(yīng)吧,沒(méi)有這句話會(huì)經(jīng)常抓不到。
輸出:
大喬 孫臏 可篩選熱門(mén)英雄啦! 美女 質(zhì)量局 來(lái)一波5排好撒 Song 1623 絕跡國(guó)一Pro程,單排上王者~ 寒夜 1533 單排只用小喬-契約之戰(zhàn)-狂鐵 東辰-子軒 1527 我真的不da野,是野怪先動(dòng)的手 LYG丶七魚(yú) 1517 國(guó)服劉備,一天一個(gè)王者 袖天-狠人 1499 小賤;賠錢(qián)虎野區(qū)霸主 鉆上星耀上王者 東辰-小賤 1497 新秀happy:中午跟佳哥,天才哥打五排 happy 1494- 雖然這種方式不太好,但是也能將就抓取小數(shù)據(jù)。也算是成功模擬了吧。
- 對(duì)于這種低效率,出錯(cuò)大的抓取方式抓取大規(guī)模數(shù)據(jù)肯定是不行的。那么下篇就講解如何抓取json文件(后臺(tái)傳來(lái)的數(shù)據(jù)源文件)。
如果對(duì)后端、爬蟲(chóng)等感性趣歡迎關(guān)注我的個(gè)人公眾號(hào)交流:bigsai
總結(jié)
以上是生活随笔為你收集整理的爬取虎牙之二:试用htmlunit模拟js爬取ajax页面的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 爬取虎牙之一:(王者荣耀主播信息普通爬取
- 下一篇: 爬取虎牙之三:通过json数据获取所有直