批量爬取B站收藏夹封面
一个视频要想获得较高的点击量,那么精美的封面和吸引人标题则是必不可少的因素之一,有的封面就很有收藏的欲望,因此我开始百度搜索如何获取B站视频的封面,发现一般都是根据BV号或者AV号获取视频的封面,这样有一个缺点,就是效率太低,一个一个视频要一个个复制Bv号进去才能获取到封面。
Python根据AV号获取封面源码:
源码来自: https://zhuanlan.zhihu.com/p/63782740
import re
import requests
def getcover():
avnum=input("please input the av number of your video:")
url="https://www.bilibili.com/video/av"+avnum
headers={
'Host':'www.bilibili.com',
'User-Agent': 'Chrome/73.0.3683.103'
}
text=requests.get(url,headers=headers).text#解决反爬虫问题
index1=text.find('itemprop=\"image\"')+len('itemprop=\"image\" content=\"')
index2=text.find('\"',index1)
cover=text[index1:index2]
print(cover)
getcover()
正所谓懒是第一生产力,因此,我用Python写了个批量爬取B站收藏夹封面的工具,工具使用方式很简单,双击打开软件后输入收藏夹的ID和要获取的页数就可以开始爬取了
在使用此工具前,需要安装you-get库,安装方式很简单,在你配置好python环境变量的情况下,按win+r打开运行,输入cmd打开命令提示符,输入下面的代码即可安装好you-get库
pip3 install you-get
当打开cmd输入you-get -h,然后按回车没有报错则表示安装成功
展示:
工具源码:
代码部分功能参考了此文章:https://zhuanlan.zhihu.com/p/84559073
from concurrent.futures import ThreadPoolExecutor
import threading
import requests
import json
import os
import re
# 解析指定收藏夹的ID,获取收藏夹信息,可指定获取多少页
def parseUrl(id, page):
url <