美文网首页程序员
Python爬虫爬取小姐姐照片!

Python爬虫爬取小姐姐照片!

作者: 59aa689f8c96 | 来源:发表于2019-09-30 13:34 被阅读0次

哔哩哔哩上有一个相簿板块,里面有很多绘画和摄影,自己动手一张一张保存太慢,于是想到了python爬虫。

今天就用python来写个爬虫,爬取每月月榜上的小姐姐,一劳永逸。

爬虫步骤:

1.在bilibili上找到API接口

2.使用requests去访问接口,获取json字典

3.根据json内容,获取地址来下载图片

1.先定义请求头,模仿浏览器去访问网站;

2.定义函数获取json

3.定义下载器

4.通过循环爬取json的图片地址下载图片

效果图:

s私信小编01 获取此项目数十套PDF!

具体代码如下:

import requests

import os 

#定义请求头

headers={

    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0'

    }

def get_json(url):

    #定义api中的关键字

    params={

        'biz':'2',

        'category':'cos',

        'rank_type':'month',

        'date':'2019-09',#修改日期可获得不同月榜

        'page_num':'0',

        'page_size':'50'

    }

    #访问逻辑,处理异常

    try:

        html=requests.get(url,params=params,headers=headers)

        return html.json()

        #print(html.json())

    except:

        print('请求出错...')

def downloader(url,path):

    #初始化大小

    size=0

    #下载视频

    response=requests.get(url,headers=headers,stream=True)

    #构造下载器

    chunk_size=1024

    #文件大小

    content_size=pic[a]['img_size']

    print('[图片大小]:%0.2f MB'%(content_size/chunk_size))

    #文件处理

    if response.status_code==200:

        with open(path,'wb') as f:

            #迭代相应数据

            for data in response.iter_content(chunk_size=chunk_size):

                f.write(data)

                size+=len(data)

if __name__=="__main__":

    try:

        os.mkdir('./图片')

    except:

        pass

    for i in range(10):

        url='https://api.vc.bilibili.com/link_draw/v2/Doc/ranklist?'

        html=get_json(url)

        infos=html['data']['items']

        for info in infos:

            a=0

            pic=info['item']['pictures']

            title=info['item']['title']

            try:

                a+=i

                pic_url=pic[a]['img_src']

                path='./图片/%s.jpg' % (title+str(a))

                downloader(pic_url,path)

                print(path)

                print('下载成功')               

            except:

                print('下载失败...')

相关文章

网友评论

    本文标题:Python爬虫爬取小姐姐照片!

    本文链接:https://www.haomeiwen.com/subject/lmgcpctx.html