Java+Jsoup爬蟲B站

源碼鏈接:https://pan.baidu.com/s/1oOAxJqSMCyVJPNv-iAYW7A
提取碼:1co9

Java+Jsoup爬蟲小紅書,微博,B站
爬取地址:https://www.bilibili.com/video/BV1HE411b7nj
目標:抓取視頻的點贊量,投幣量,收藏量,轉發量

在這裏插入圖片描述

1.F12分析下頁面
在這裏插入圖片描述
點贊量:#arc_toolbar_report下面的.like
投幣量:#arc_toolbar_report下面的.coin
收藏量:#arc_toolbar_report下面的.collect
轉發量:#arc_toolbar_report下面的.share

2.使用Jsoup進行抓取
這裏發現,使用Jsoup取到的靜態頁面中沒有這些數據,而是JS數據渲染,要請求接口的
在這裏插入圖片描述
3.分析下問題所在,並解決

F12看下B站接口
在這裏插入圖片描述
在這裏插入圖片描述
這個接口裏有我們要的數據,它只需要一個aid,然後請求下接口就可以獲取到想要的值了,但是aid要從哪裏獲取呢?

Jsoup抓取的靜態頁面解析出aid即可!

在這裏插入圖片描述
aid在這裏,想盡一切方法,取出來就行,如何取出

分析了一下後,我決定用正則方式刪選出要的數據,在替換掉前後符號,在轉爲json,調出aid即可

開頭:window.INITIAL_STATE={
結尾:}};

就拿到了這一行
在這裏插入圖片描述

替換前:window.INITIAL_STATE={
替換後 {

替換前:}}
替換後 }

在這裏插入圖片描述

轉換爲json類型,就可以取出aid

然後使用請求一下接口既可以取到數據了
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章