Python爬图片源码分享
首先你需要Python环境,在电脑上安装Python
爬虫大致原理:将网页页面化作文本,对文本内容进行搜寻,找到所需要字符串(一般是能下载的图片地址),解析字符串形成连接,打开字符串连接进行下载图片。
另外除了下面的二次元,我还抓取了一些养眼的图片,放在公众号,大概有200多篇,不定时推送!这不关注一波公众号?
//导入需要的模块module """ """ import io,os,re,requests from PIL import Image from io import BytesIO import ssl ssl._create_default_https_context = ssl._create_unverified_context print("开始-->>>>") #免费告诉你一个网址 url = 'https://www.jdlingyu.com/tuji/acg/70455.html' #url = 'https://qq.yh31.com/qt/hj/101165.html' #从文件名字为1的文件夹开始 fileNumber=1 #抓取20次 for i in range(1,20): r= requests.get(url) print("当前url",url) r.encoding = 'utf-8' data = r.text #提取title fir = re.findall(r'<h1>.*?</h1>',data) print(str(fir)) #获取图片地址链接 filename = str(fir).replace('<h1>','').replace('</h1>','').replace("'",'') #提取jpg网址 fir = re.findall(r'img src=".*?" alt',data) fir = str(fir).replace('img src="','').replace('" alt','') print("fir:",fir) #获取提取到的图片地址链接新建一个数组 fir = fir.split(',')[0:-1] #保存图片 for idx,url in enumerate(fir): url = url[2:-1] #防止gif图片出错,https请求有些会出问题 if 'gif' in url: print('出现gif') elif 'https' in url: print('出现https') else: print('url',url) #如果不存在第一个文件夹就创建 if not os.path.exists(os.getcwd()+'\\xz2'+'\\'+str(1)): os.makedirs(os.getcwd()+'\\xz2'+'\\'+str(1)) #设置图片名字 img_path=(os.getcwd()+'\\xz2'+'\\'+str(fileNumber)+'\\')+filename+str(idx+1).zfill(3)+'.jpg' print('img_path',img_path) #开始下载 response = requests.get(url) img_data =response.content image = Image.open(io.BytesIO(img_data)) image.save(img_path) #获取页面链接进行下一个循环 https=re.findall(r'https://www.jdlingyu.com/tuji/acg/[0-9]{5}\.html" class',data) https=str(https).replace('href="','').replace("'",'') firsthttp=https.split(',') print('firsturl',firsthttp) #从很多url里面选取一个 url=firsthttp[1][1:-1] print('nexturl',url) url=url.replace(" clas","") #新建文件夹 fileNumber=fileNumber+1 #如果不存在文件夹,就创建 if not os.path.exists(os.getcwd()+'\\xz2'+'\\'+str(fileNumber)): os.makedirs(os.getcwd()+'\\xz2'+'\\'+str(fileNumber))