日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

爬取虎牙之二:试用htmlunit模拟js爬取ajax页面

發(fā)布時(shí)間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 爬取虎牙之二:试用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)常抓不到。
import java.io.IOException; import java.util.ArrayList; import java.util.List;import com.gargoylesoftware.htmlunit.BrowserVersion; import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.HtmlAnchor; import com.gargoylesoftware.htmlunit.html.HtmlPage;public class HTMLunit {public static void main(String[] args) throws IOException, InterruptedException{final WebClient webClient = new WebClient(BrowserVersion.CHROME);webClient.getOptions().setTimeout(2000);//webClient.getOptions().getTimeout();webClient.getOptions().setJavaScriptEnabled(true);webClient.getOptions().setThrowExceptionOnScriptError(false); webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);webClient.getOptions().setActiveXNative(false); webClient.getOptions().setCssEnabled(false); // webClient.waitForBackgroundJavaScript(600*1000); webClient.setAjaxController(new NicelyResynchronizingAjaxController()); HtmlPage page=webClient.getPage("https://www.huya.com/g/wzry"); Listanchors=page.getAnchors();//System.out.println(anchors);Listjsanchors=new ArrayList();for(HtmlAnchor anchor:anchors){ String href=anchor.getAttribute("href");/** 抓取js的鏈接*/if(href.startsWith("javascript:")){ {jsanchors.add(anchor);}}else if("#".equals(href)){if(anchor.hasAttribute("onclick")){jsanchors.add(anchor);}}}HtmlAnchor t1=jsanchors.get(0);HtmlPage newpage=t1.click();Thread.sleep(1000);System.out.println(newpage.asText()); // for(HtmlAnchor anchor:jsanchors) // { // /* // * 這段話會(huì)失敗,因?yàn)閔tmlunit只能執(zhí)行一次 會(huì)輸出相同頁(yè) // */ // Thread.sleep(600); // HtmlPage newpage=anchor.click(); // Thread.sleep(600); // System.out.print(newpage.asText()); // // } } }

輸出:

大喬 孫臏 可篩選熱門(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
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的爬取虎牙之二:试用htmlunit模拟js爬取ajax页面的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品成人a | 久久综合久久久 | 超碰在线观看97 | 操干视频| 1024手机看片日韩 | 在线国产91| 三级黄网 | 国产15页 | 久久久久久久国产视频 | 久久人人爽爽 | 久久午夜视频 | 国产超碰在线观看 | 成人免费性视频 | 亚洲成av人片在线观看无码 | 人妻少妇精品无码专区久久 | 亚洲少妇网站 | 日本熟女毛茸茸 | av高清在线 | 美女扒开腿让人桶爽原神 | 夜夜久久| 国产午夜激情 | 欧美国产精品一二三 | 日韩精品成人在线观看 | 久久久久久久穴 | 四虎影视av | 国产你懂得 | 久久免费看少妇高潮v片特黄 | 欧美性做爰猛烈叫床潮 | 色网视频| 影音先锋亚洲天堂 | 求欧美精品网址 | 波多野结衣一区 | 日韩操比| 男同av在线观看一区二区三区 | 日韩亚洲欧美在线观看 | 尤物视频在线观看免费 | 无码一区二区波多野结衣播放搜索 | 国产素人av| 国产高清视频在线观看 | 亚洲欧洲色图 | 国产精品毛片一区二区在线看 | 欧美体内谢she精2性欧美 | 日本在线黄色 | 中文字幕精品一区二区精 | 成年人视频免费在线观看 | 美女上床网站 | av全黄 | 广州毛片| 少妇人妻无码专区视频 | 婷婷色在线播放 | 丰满女邻居的色诱4hd | 添女人荫蒂视频 | 开心成人激情 | 久久精品欧美一区 | 涩涩视频网址 | 福利精品 | 五月激情久久 | 四月婷婷 | 精品久久久久中文慕人妻 | 欧美xxxxbbb| 懂色av一区二区三区四区 | 视频在线观看一区二区 | 午夜影院一区二区三区 | 国产精品人人爽人人爽 | 亚洲偷 | 国产激情一区二区三区 | 色眯眯视频 | 日本成人免费在线视频 | 青青操免费 | 精品久久久久久久中文字幕 | 在线小视频| 中国黄色一级片 | 亚欧成人精品 | 亚洲精品乱码久久久久久 | 亚洲成人网在线观看 | 人人看人人爽 | 日日摸天天爽天天爽视频 | 三级中文字幕在线 | 国产精品久久999 | 污污的网站在线免费观看 | 色站综合 | 日本福利片在线观看 | av番号网| 老熟妇午夜毛片一区二区三区 | 蜜桃精品噜噜噜成人av | www.超碰在线.com | 强开乳罩摸双乳吃奶羞羞www | 黄色三级在线观看 | 护士的小嫩嫩好紧好爽 | 成人av网站大全 | 精品人妻伦一二三区免费 | 久久久蜜桃一区二区 | 秋葵视频成人 | 97干视频| 久久国产99 | 国产亚洲成av人在线观看导航 | 成人毛片视频在线观看 | 无码人妻丰满熟妇啪啪网站 | 欧美成人片在线观看 |