夜航船夫

Python3 抓取必应每日背景图

Python3 修改抓取必应背景图代码

必应每天会更新一张背景图,质量不错,有些特别满意的还可以作壁纸。不过下载图片比较麻烦,要上必应网站,一张张地下,且下载来的图片是加了水印的,能不能自动批量下载呢?答案自然是有的。

本文用 Python3 写了一个爬虫,可以批量获取近段时间的每日必应图。不过由于网站原因,只能保存最近的24张背景图。

代码如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# -*- author:uncoverman-*-
# -*- website:www.uncoverman.com-*-
# python3抓取bing主页所有背景图片
import urllib.request,re,sys,os
def get_bing_backphoto():
    if (os.path.exists('photos')== False):
        os.mkdir('photos')
    for i in range(0,10):
        url = 'http://cn.bing.com/HPImageArchive.aspx?format=js&idx='+str(i)+'&n=1&nc=1361089515117&FORM=HYLH1'
        html = urllib.request.urlopen(url).read()
        if html == 'null':
            print( 'open & read bing error!')
            sys.exit(-1)
        html = html.decode('utf-8')
        html = html.replace('/az/','http://s.cn.bing.net/az/')
        reg = re.compile('"url":"(.*?)","urlbase"',re.S)
        text = re.findall(reg,html)
        #http://s.cn.bing.net/az/hprichbg/rb/LongJi_ZH-CN8658435963_1366x768.jpg
        for imgurl in text :
            right = imgurl.rindex('/')
            print(imgurl)
            name = imgurl.replace(imgurl[:right+1],'')
            savepath = 'photos/'+ name
            urllib.request.urlretrieve(imgurl, savepath)
            print (name + ' save success!')
get_bing_backphoto()

使用方法,将以上代码复制到后缀为 .py 的文件,然后运行.py 的文件即可。

— 于 共写了1128个字
— 文内使用到的标签: