zoukankan      html  css  js  c++  java
  • 必应每日壁纸批量下载

    背景

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

    分析

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

    第二步下载图片。

    提取图片链接

    单个页面

    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
Copyright © 2011-2022 走看看