最新公告
  • 欢迎您光临小酒资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 24行代码爬取B站UP主相册所有图片

    前几天偶然在哄睡区看到一个up主,相册里很多好看的照片,但是一个一个保存太麻烦了,因为如果想保存大图需要点进去才行,于是直接用python写了24行简单的代码,即可轻松爬取

    from selenium import webdriver
    import re
    from lxml import etree
    import requests
    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'}
    driver = webdriver.Chrome()
    url = "https://space.bilibili.com/430654092/album"
    pa = re.compile('style="background-image: url\("(.*?)@')
    driver.get(url)
    text = driver.page_source
    pic_url_list = pa.findall(text)
    pic_url_list = pic_url_list[1:]
    html = etree.HTML(text)
    titles = html.xpath('//a[@class="title"]/text()')
    print('一共'+str(len(titles))+'张照片')
    for pic_url, title in zip(pic_url_list, titles):
        print('正在下载', title)
        content = requests.get(pic_url, headers=headers).content
        if '\n' in title:
            title = title.replace('\n', '')
        if '/' in title:
            title = title.replace('/', '')
        with open('图片/'+title+'.jpg', 'wb') as f:
            f.write(content)
    

    这里解释一下为什么用selenium而不用requests,因为网站源码是JS动态加载的,直接用requests.get只能得到一点代码,但用selenium就可以完美的得到JS加载后的网页源码了,然后用正则和xpath语法找到高清大图的链接,这时就可以用requests.get来下载图片了,不仅仅是此网站,其他需要动态加载JS的网站也可以。新手爬虫经常会疑惑为什么自己浏览器按F12获取的源码和python里用requests.get获得的源码为什么不一样,这就是原因所在。该方法可以在绝大多数你常用的网站使用。

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    站壳网
    一个高级程序员模板开发平台
    • 990会员总数(位)
    • 3235资源总数(个)
    • 131本周发布(个)
    • 0 今日发布(个)
    • 246稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情