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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于java实现bilibili视频爬虫

發布時間:2023/12/8 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于java实现bilibili视频爬虫 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗概述

【實驗項目名稱】

Implementing a Bilibili video webcrawler

【實驗目的】

  • Understand HTTP requests, responses, and redirections.
  • Use apache-httpclient to make up requests and decompose responses.
  • Use jsoup to traverse between and inside HTML tags.
  • Know SQL grouping and sorting.
  • Use Maven to manage project dependencies.
  • 【實驗環境(使用的軟件)】

    Fiddler,IntelliJ IDEA

    實驗內容

    1.爬取網頁信息

    打開Fiddler,并打開www.bilibili.com,點擊任一版塊,爬取信息

    找到視頻列表所對應的的包,是一個json文件,找到他的Headers,用于模擬連接。

    之后可以看到這個json對應的內容,包括視頻的av號,標題,作者,所屬版塊號,版塊名稱,硬幣數,收藏數等,弄清楚這個json對象的格式,用于使用java HttpClient 模擬訪問時解析json對象。

    2.java爬取網頁信息

    新建項目homework_5,使用maven導入Apache的HttpClient包,建立項目依賴。

    根據助教的教程,使用HttpClient模擬瀏覽器發送get請求,根據之前獲取到的Headers建立模擬請求。網頁響應后可以使用HttpEntity得到一串字符串,這個字符串中包含我們需要解析的json對象。

    在這里我當時沒有找到解析json的JSONObject方法,所以這里我使用了Google的Gson包。這個包雖然可以解析json,但只能解析標準格式的json對象,并且需要一個實體類來映射解析結果,而我們獲取到的不是標準的json對象,在這里我使用了切割字符串的方法,將從網頁上爬取到的字符串切割成一個個json對象,之后使用Gson進行映射解析。

    3.數據存入數據庫

    解析完之后,將數據存入數據庫。數據庫中包括版塊號tid,版塊名tname,av號,標題title,作者author,硬幣數coin,收藏數favorite。

    在這里我在存入數據庫之前沒有篩選每個版塊的前三名,而是將爬取到的數據全部存入數據庫,在數據庫中根據收藏數進行分組排序,選出每個版塊的前三名。

    數據庫中存了78萬條記錄。

    4.下載視頻

    得到視頻的av號后,就可以從網頁上下載視頻了。www.biyezuopin.vip

    這里使用www.ibilibili.com/video/av…地址,根據av號查找到ibilibili的網頁,使用jsoup解析該網頁,得到下載鏈接。

    此為下載鏈接,找到這個鏈接之后,使用java的io包從對應的鏈接下載視頻。

    查看本地,已下載完成。

    【結果】

  • 使用HttpClient爬取網頁成功,每個版塊爬取了1000頁,數據庫中一共存儲了78萬條記錄。
  • 從數據庫中排序選出前三名,根據視頻的av號,使用jsoup獲取下載鏈接成功,調用java的IO可以下載到本地。
  • 用maven添加依賴也基本掌握。
  • 【小結】

    這學期的JAVA實驗真的收獲很大。

    這次實驗簡單了解了網頁爬蟲的原理,也算是入了爬蟲的門,雖然只是很簡單的基礎。

    之前實驗中也學習了數據庫的基礎知識,也算是有了一點數據庫的使用能力,在這次實驗中也有相應的收獲,當數據庫中的數據非常多時,怎樣可以提高查詢速度也是需要思考的問題,我自己也算是想到了一些方法。

    總之,這次的實驗收獲很大。

    總結

    以上是生活随笔為你收集整理的基于java实现bilibili视频爬虫的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。