KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
BilibiliSpider
★ 18
Open GitHub ↗
bilibili视频信息爬虫
Download README (.md)
Explore Similar Repositories
pwndock
:
A pwning environment, now on docker!
reddit-pgn-to-gif
:
Converts PGN from /r/chess into gifs hosted on imgur and leaves a reddit comment
console-app-settings
:
Source code for blog post how to use appsettings in .net core console application
vue-simple-multi-select
:
autocomplete multiple select component for vue
smtp_enum_users
:
:e-mail: Enumerate usernames through SMTP service
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
BilibiliSpider
?
Download (.md)
# Bilibili视频信息爬虫 ***开发环境:python 3.6.5、Scrapy:1.5.0*** B站的视频信息(播放数量、弹幕数、投币数等)都是动态加载的,所以通过xpath或者css选择器分析原页面是找不到该类信息的,因此分析网页的network,找到了它的api接口:  用浏览器打开Request_URL,就能看到所需要的信息了:  **网页请求逻辑** ```python title = response.css("#viewbox_report h1 span::text").extract() url = response.url UP = response.css(".info a[href]::text").extract() up_url = response.css(".info a::attr(href)").extract() video_type = response.css("span.crumb:nth-child(2) > a:nth-child(1)::text").extract() up_time = response.css(".tm-info.tminfo time::text").extract() yield scrapy.Request("https://api.bilibili.com/x/web-interface/archive/stat?aid={0}".format(av_num), meta={ "title":title,"url":url, "UP":UP,"up_url":up_url,"video_type":video_type, 'up_time':up_time,"av_num":av_num, },callback=self.parse_item) #爬取静态数据 yield Request(url='https://www.bilibili.com/video/av{0}'.format(match_re), callback=self.parse) #爬取json数据 ``` 该爬虫通过遍历av号爬取全部视频信息: 在请求原始url时,先抓取原始网页上可用的信息通过meta发送,分析api地址为:'https://api.bilibili.com/x/web-interface/archive/stat?aid='+av号 再次给api地址发送request请求,抓取剩余信息获取items;结束后请求下一个url。 **使用pyecharts将数据可视化** bilibili一月各个分区的播放比例  bilibili一月播放量最高的15位UP  37万原始数据下载地址:https://pan.baidu.com/s/1_NKz0nmQ7ZsjmXRJI1rQ0Q