欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用Python爬取日向、樱坂成员blog中的JPG文件的url并将其下载到本地

程序员文章站 2022-03-19 13:33:13
前言目前可以使用这段代码爬取日向坂46(hinatazaka46.com)、樱坂46(keyakizaka46.com)的成员blog图目前对爬虫以及正则表达式还是不是很熟悉,目前只能做到这个程度,会在接下来的几天加强自己对这方面的理解,然后会做下载紫团blog的代码注意代码中最开始的“初始设置”部分是需要使用者自定义的,比如:设置爬取的成员的名字(如katoshi、kosaka等等),还需要设置url,这需要使用者进入蓝团官网或者白团官网的成员blog界面复制上方的网址并贴在url = 后面,(...

前言

目前可以使用这段代码爬取日向坂46(hinatazaka46.com)、樱坂46(keyakizaka46.com)的成员blog图

目前对爬虫以及正则表达式还是不是很熟悉,姑且只能做到这个程度,会在接下来的几天加强自己对这方面的理解,然后会做下载紫团blog的代码
注意
代码中最开始的“初始设置”部分是需要使用者自定义的,比如:设置爬取的成员的名字(如katoshi、kosaka等等),还需要设置url,这需要使用者进入蓝团官网或者白团官网的成员blog界面复制上方的网址并贴在url = 后面,
(PS:由于同一个成员的blog是可以翻页的,所以需要不同的页的url来获取对应页的图片,此时注意不仅要改url名还要改name,可以改成如kosaka和kosaka_2_)

效果图

这是我下载了几个成员之后的状态
用Python爬取日向、樱坂成员blog中的JPG文件的url并将其下载到本地
这就是我上面说的用kosaka_2_命名name的效果
用Python爬取日向、樱坂成员blog中的JPG文件的url并将其下载到本地

代码如下

import os,sys,time,json,time
import socket,random,hashlib
from concurrent.futures.process import ProcessPoolExecutor
import requests,configparser
import json,re

#初始设置
name = "katoshi" #想要将图片取的名字
os.makedirs('./Picture/'+name, exist_ok=True)
#在目录下创建一个文件夹用于保存图片,这里以Picture为例子
url = "https://www.hinatazaka46.com/s/official/diary/member/list?ima=0000&ct=5"# 加藤史
#url = "https://www.keyakizaka46.com/s/k46o/diary/member/list?ima=0000&ct=43"
#设置想要爬取的网站网址


path=os.getcwd()+'\\Picture\\'+name+"\\"
def getpicurl():
    jpglist =[]
    #设置url地址为想要爬取的图片
    html = requests.get(url).text
    pic_url = re.findall('img src="(.*?)"', html, re.S)
    count = 0
    print(len(pic_url))
    for key in pic_url:
        if("jpg" in key):
            jpglist.append(key)
            count=count+1
    print("全部张数为:"+str(count)+"开始下载喽")
    return jpglist
    #清洗只留下jpg文件url


def download(pic_url):
    num=1
    for i in pic_url:
        print(i)
        r = requests.request('get', i)  # 获取网页

        with open(path + name + str(num) + '.jpg', 'wb') as f:  # 打开写入到path路径里-二进制文件,返回的句柄名为f
            f.write(r.content)  # 往f里写入r对象的二进制文件
        f.close()

        print("下载第"+str(num)+"张图片成功!当前进度:"+str(num)+"/"+str(len(pic_url)))
        num = num+1
#main
pic_url = getpicurl()
download(pic_url)
print(type(pic_url))
print("下载完毕喽,祝您开心")

本文地址:https://blog.csdn.net/weixin_43668546/article/details/109954761

相关标签: python