必应每日壁纸批量下载

背景

桌面壁纸好久没有更新,感到有些审美疲劳。必应每日推荐高质量壁纸,有好心人已经做成了专门的必应壁纸站,更新桌面壁纸,顺便练手爬虫小程序。

分析

第一步提取出全部图片的链接,单个页面正则提取后,加个翻页功能即可。

第二步下载图片。

提取图片链接

单个页面

def getPageImgUrl(url):
	headers = {
		'use_agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0',
	}
	res = requests.get(url,headers=headers).content
	pattern = re.compile(r'data-progressive="(.*?)"')
	urls = re.findall(pattern,res)
	return urls

全部页面,这里取前10页

def getAllUrl():
	l = []
	for i in range(1,11):
		url = 'https://bing.ioliu.cn/?p={}'.format(i)
		u = getPageImgUrl(url)
		l += u
	return l

下载图片

def DownloadImg(url):
	headers = {
		'use_agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0',
	}
	r = requests.get(url,headers=headers)
	pattern = re.compile(r'/bing/(.*?)_1920')
	filename = re.findall(pattern,url)
	filename = str(filename)+'.jpg'
	with open('/Users/markzhang/Documents/dailyimg/img/demo.jpg','w')as f:
		os.getcwd()
		os.chdir('/Users/markzhang/Documents/dailyimg/img/')
		f.write(r.content)
		os.rename('demo.jpg',filename)

下载10页,120张图片,用了120s,两分钟,效率不高,凑合着用

原文地址:https://www.cnblogs.com/mark-zh/p/11139706.html