27行代码即可爬取b站up主相册所有图片!

正文 乐搜网   2020-06-21   106



老规矩,先上成果图,然后放代码,然后写分析过程。
成果图:

 

27行代码即可爬取b站up主相册所有图片!插图

 

代码如下:
小提示:如果你要直接用代码需在同路径下创建一个名字为”图片“的文件夹,为了省代码我没有写创建文件夹的那一行

 

import requests
import json
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'
}
page = 0 #从第一页开始
url = 'https://api.vc.bilibili.com/link_draw/v1/doc/doc_list?uid=405576449&page_num={}&page_size=30&biz=all'.format(page)#第一页链接
requests.packages.urllib3.disable_warnings() #这个代码可以去掉,仅仅是为了美观,把警告信息过滤了
pic_list = [] #这个列表等会儿用来放图片链接
while True:
    content = requests.get(url, headers=headers, verify=False).content
    dic = json.loads(content) #将json数据转化为python可以用的字典
    if len(dic.get('data').get('items')) == 0: #如果爬完了就停止
        break
    item_list = dic.get('data').get('items') #获取项目信息列表
    for i in item_list:
        i = i.get('pictures')[0].get('img_src') #匹配到图片链接
        pic_list.append(i)
    page += 1
    url = 'https://api.vc.bilibili.com/link_draw/v1/doc/doc_list?uid=405576449&page_num={}&page_size=30&biz=all'.format(page)
count = 1 #用来计数,顺便给文件命名
for pic_url in pic_list:
    content = requests.get(pic_url, headers=headers, verify=False).content
    with open('图片/'+str(count)+'.'+pic_url[-3:], 'wb') as f:
        f.write(content)
    count += 1

接下来就是分析过程:
1.首先打开抓包软件fiddler(这只是我的习惯,其实你不用fiddler直接谷歌浏览器F12也可以的)
2.然后打开谷歌浏览器
3.进入你想要爬取的up主的相册页面,如下

 

27行代码即可爬取b站up主相册所有图片!插图(2)

 

4.打开fiddler查看抓包结果,如图所示,参数很清晰了,我们只需要改变页码即可获取不同页的图片

 

27行代码即可爬取b站up主相册所有图片!插图(4)

 

不过成品的代码比这个源码多4行,有31行,不过也就是一些让用户方便的代码了,比如输入uid和标识出爬取的链接。

 

 

相关说明
1、本站大部分资源收集于网络以及网友投稿,本不保证资源的完整性以及安全性,请下载后自行测试。
2、本站所发布的一切非原创资源等仅限用于学习和研究目的;不得用于商业或者非法用途,否则,一切后果请用户自负。
3、本站非原创信息来自互联网收集,版权归原创作者所有,版权争议与本站无关,如有侵权请邮件与我们联系处理。我们会在三个工作日内予以清除。
4、所收取费用仅是收集整理费用,用来维系网站运营,性质为用户友情赞助,并非售卖文件费用,本站不对所实际的版权问题负法律责任。
5、根据2013年1月30日《计算机软件保护条例》为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。鉴于此,本站希望大家严格按此说明研究软件学习,如需商业运营请购买正版!由于未及时购买正版发生的侵权行为,与本站无关。
乐搜网 » 27行代码即可爬取b站up主相册所有图片!

发表评论

发表评论

正版源码,海量素材,专业课程应有尽有!

立即查看 了解详情