猫史档案馆


【Python作品分享】爬图片(不完善请大佬指导)【求助帖】

用户:曦皮狼曦皮狼查看:0 回复:0 评论:0 创建时间:2021-10-03T18:41:44


【作品展示】

center_image

 

【作品介绍】

把网站上的图片抓取下来

 

【作品源代码】

import requests
import re
import csv
import xlwt
print("欢迎使用多功能图片爬取器!作者Python狂MC小豆!\n如果异常退出(exe和Python终端)或报错(python编辑器)\n可能是由于图片或网站做了进一步的反爬虫\n本作品使用添加请求头的User-Agent来反防爬虫\n也有可能是你做了不正当的操作")


def gif():
	headers = {
		'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win喵; x喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
	webPage = requests.get(wangzhanurl, headers=headers)
	webPage = webPage.text
	image_re = re.compile(r'https.*?gif')
	sprite_image = image_re.findall(webPage)
	a = range(len(sprite_image))
	for b in a:
		sprite_image_1 = requests.get(sprite_image[b], headers=headers)
		spritePage = open("爬取gif图片%s.gif" % b, "wb")
		spritePage.write(sprite_image_1.content)
		spritePage.close()
		print("成功保存%s个图片\n" % b)


def png():
	headers = {
		'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win喵; x喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
	webPage = requests.get(wangzhanurl, headers=headers)
	webPage = webPage.text
	image_re = re.compile(r'https.*?png')
	sprite_image = image_re.findall(webPage)
	a = range(len(sprite_image))
	for b in a:
		sprite_image_1 = requests.get(sprite_image[b], headers=headers)
		spritePage = open("爬取png图片%s.png" % b, "wb")
		spritePage.write(sprite_image_1.content)
		spritePage.close()
		print("成功保存%s个图片\n" % b)


def jpg():
	headers = {
		'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win喵; x喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
	webPage = requests.get(wangzhanurl, headers=headers)
	webPage = webPage.text
	image_re = re.compile(r'https.*jpg')
	sprite_image = image_re.findall(webPage)
	a = range(len(sprite_image))
	for b in a:
		sprite_image_1 = requests.get(sprite_image[b], headers=headers)
		spritePage = open("爬取jpg图片%s.jpg" % b, "wb")
		spritePage.write(sprite_image_1.content)
		spritePage.close()
		print("成功保存%s个图片\n" % b)


def url_csv():
	csvfile = open('爬取数据.csv', 'w', newline='')
	writer = csv.writer(csvfile)
	headers = {
		'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win喵; x喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
	webPage = requests.get(wangzhanurl, headers=headers)
	webPage = webPage.text
	image_re = re.compile(r'https.*?png')
	sprite_image = image_re.findall(webPage)
	a = range(len(sprite_image))
	writer.writerow(["png图列表"])
	writer.writerow(['图片序号', '图片网址'])
	for b in a:
		sprite_image_1 = requests.get(sprite_image[b])
		data = [(b, sprite_image_1.url)]
		writer.writerows(data)
		print("写入了%s个png数据\n" % b)
	b = 0
	image_re = re.compile(r'https.*?jpg')
	sprite_image = image_re.findall(webPage)
	a = range(len(sprite_image))
	writer.writerow(["jpg图列表"])
	writer.writerow(['图片序号', '图片网址'])
	for b in a:
		sprite_image_1 = requests.get(sprite_image[b])
		data = [(b, sprite_image_1.url)]
		writer.writerows(data)
		print("写入了%s个jpg数据\n" % b)
	b = 0
	image_re = re.compile(r'https.*?gif')
	sprite_image = image_re.findall(webPage)
	a = range(len(sprite_image))
	writer.writerow(["gif图列表"])
	writer.writerow(['图片序号', '图片网址'])
	for b in a:
		sprite_image_1 = requests.get(sprite_image[b])
		data = [(b, sprite_image_1.url)]
		writer.writerows(data)
		print("写入了%s个gif数据\n" % b)
	csvfile.close()


def url_excel():
	workbook = xlwt.Workbook()
	sheet = workbook.add_sheet("png图列表")
	sheet.write(0, 0, '图片序号')
	sheet.write(0, 1, '图片网址')
	headers = {
		'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win喵; x喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
	webPage = requests.get(wangzhanurl, headers=headers)
	webPage = webPage.text
	image_re = re.compile(r'https.*?png')
	sprite_image = image_re.findall(webPage)
	a = range(len(sprite_image))
	for b in a:
		sprite_image_1 = requests.get(sprite_image[b])
		sheet.write(b+1, 0, b)
		sheet.write(b+1, 1, sprite_image_1.url)
		workbook.save("爬取数据.xls")
		print("写入了%s个png数据\n" % b)
	b = 0
	sheet = workbook.add_sheet("jpg图列表")
	sheet.write(0, 0, '图片序号')
	sheet.write(0, 1, '图片网址')
	headers = {
		'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win喵; x喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
	webPage = requests.get(wangzhanurl, headers=headers)
	webPage = webPage.text
	image_re = re.compile(r'https.*?jpg')
	sprite_image = image_re.findall(webPage)
	a = range(len(sprite_image))
	for b in a:
		sprite_image_1 = requests.get(sprite_image[b])
		sheet.write(b+1, 0, b)
		sheet.write(b+1, 1, sprite_image_1.url)
		workbook.save("爬取数据.xls")
		print("写入了%s个jpg数据\n" % b)
	b = 0
	sheet = workbook.add_sheet("gif图列表")
	sheet.write(0, 0, '图片序号')
	sheet.write(0, 1, '图片网址')
	headers = {
		'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win喵; x喵) AppleWebKit/537.36 (KH喵L, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
	webPage = requests.get(wangzhanurl, headers=headers)
	webPage = webPage.text
	image_re = re.compile(r'https.*?gif')
	sprite_image = image_re.findall(webPage)
	a = range(len(sprite_image))
	for b in a:
		sprite_image_1 = requests.get(sprite_image[b])
		sheet.write(b+1, 0, b)
		sheet.write(b+1, 1, sprite_image_1.url)
		workbook.save("爬取数据.xls")
		print("写入了%s个gif数据\n" % b)


while True:
	wangzhanurl = input("你要在什么网站爬图片?输入url:")
	doingsth = int(input("你要:\n1.爬gif图请输0\n2.爬png图请输1\n3.爬jpg图请输2\n4.爬png,jpg,gif图片url并输出为csv表格请输3\n5.停止程序请输4\n6.一口气把jpg,png,gif全爬输5\n7.爬png,jpg,gif图片url并输出为Excel表格请输6\n请输入:"))
	if doingsth == 1:
		png()
		print("完成")
		b = 0
	elif doingsth == 2:
		jpg()
		print("完成")
		b = 0
	elif doingsth == 3:
		url_csv()
		print("完成")
		b = 0
	elif doingsth == 4:
		break
	elif doingsth == 0:
		gif()
		print("完成")
		b = 0
	elif doingsth == 5:
		gif()
		b = 0
		png()
		b = 0
		jpg()
		print("完成")
		b = 0
	elif doingsth == 6:
		url_excel()
		print("完成")
		b = 0
	else:
		print("输的不对哦")

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页