最初Python2写法:
#!/usr/bin/env python

# -*- coding:utf-8 -*-

# -*- author:nancy -*-

# python2抓取bing主页所有背景图片

import urllib,re,sys,os

def get_bing_backphoto():

if (os.path.exists('photos')== False):

os.mkdir('photos')

for i in range(0,1000):

url = 'http://cn.bing.com/HPImageArchive.aspx?format=js&idx='+str(i)

+'&n=1&nc=1361089515117&FORM=HYLH1'

html = urllib.urlopen(url).read()

if html == 'null':

print 'open & read bing error!'

sys.exit(-1)

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('/')

name = imgurl.replace(imgurl[:right+1],'')

savepath = 'photos/'+ name

urllib.urlretrieve(imgurl, savepath)

print name + ' save success!'

get_bing_backphoto()

Python3与Python2的错误调整:
TypeError: can't use a string pattern on a bytes-like object

 原因为Python3 findall数据类型用bytes类型,因此在正则表达式前应添加html = html.decode('utf-8')。

“AttributeError: 'module' object has no attribute 'urlopen'”

 原因是Python3里的urllib模块已经发生改变,此处的urllib都应该改成urllib.request。
由于bing图片对外接口的图片json格式变了,python第三方库的导入格式有变化,因此代码调整如下:

#!/usr/bin/env python

# -*- coding:utf-8 -*-

# -*- author:nancy-*-

# 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)

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()

python抓取bing主页背景图片的更多相关文章

  1. Python抓取网页中的图片到本地

    今天在网上找了个从网页中通过图片URL,抓取图片并保存到本地的例子: #!/usr/bin/env python # -*- coding:utf- -*- # Author: xixihuang # ...

  2. 抓取Bing每日图片作为网站首页背景

    把Bing搜索的背景图片设置为自己网站的背景,实现背景及资讯的每日更新 效果图如下: 理一下思路,首先我们要抓取Bing的每日图片及最新资讯,然后保存图片及信息到本地,最后显示图片及资讯到网站首页. ...

  3. python抓取网页图片

    本人比较喜欢海贼王漫画,所以特意选择了网站http://www.mmonly.cc/ktmh/hzw/list_34_2.html来抓取海贼王的图片. 因为是刚刚学习python,代码写的不好,不要喷 ...

  4. 【PHP】使用PHP抓取Bing每日图像并为己所用

    Bing搜索的首页每天都会推送一张很漂亮的图片,把它保存下来,当做电脑桌面或是自己的网站背景图还不是美滋滋…… 今天的bing图片是这样的 既然要抓取这张图片,首先就得弄清这张图是从何而来的.经过对必 ...

  5. 使用 Python 抓取欧洲足球联赛数据

    Web Scraping在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤    数据的采集和获取    数据的清洗,抽取,变形和装载    数据的分析,探索和预测    ...

  6. python抓取性感尤物美女图

    由于是只用标准库,装了python3运行本代码就能下载到多多的美女图... 写出代码前面部分的时候,我意识到自己的函数设计错了,强忍继续把代码写完. 测试发现速度一般,200K左右的下载速度,也没有很 ...

  7. 关于python抓取google搜索结果的若干问题

    关于python抓取google搜索结果的若干问题     前一段时间一直在研究如何用python抓取搜索引擎结果,在实现的过程中遇到了很多的问题,我把我遇到的问题都记录下来,希望以后遇到同样问题的童 ...

  8. 使用Python抓取猫眼近10万条评论并分析

    <一出好戏>讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何? 黄渤首次导演的电影<一出好戏>自8月10日在全国上映,至今已有10天,其主演 ...

  9. python抓取知乎热榜

    知乎热榜讨论话题,https://www.zhihu.com/hot,本文用python抓取下来分析 #!/usr/bin/python # -*- coding: UTF-8 -*- from ur ...

随机推荐

  1. 用c语言实现http请求

    用c语言来实现一个简单的http请求,请求 www.cnblogs.com 首页 #include<stdio.h> #include<stdlib.h> #include&l ...

  2. Java_myBatis_逆向工程

    所谓逆向工程,就是根据数据库自动生成项目工程(包括了Interface.POJO.映射文件xml) 逆向工程包:https://github.com/wcyong/mybatisGeneratorCu ...

  3. js变量浅谈

    js变量是除了this以外最让人恶心的东西了,还因为烂语法造成各种各样奇奇怪怪的事情发生,下面让我们来谈谈都有什么奇怪的事: 1.用var与不用var function test(){ a = 123 ...

  4. 质量不合格_区分excel两列不同的值

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  5. Access restriction: The constructor SunJCE() is not accessible 错误

    Access restriction: The type 'SunJCE' is not API (restriction on required library 'C:\Program Files\ ...

  6. js格式化input输入框内容(每几位分一组,并使用特定字符分隔)

    <html> <head> <title></title> </head> <body> <input id=" ...

  7. UVALive - 7639 G - Extreme XOR Sum(思维)

    题目链接 题意 给出一个序列,相邻两两异或,生成一个新序列,再相邻两两异或,直到只剩下一个元素,问最后结果为多少.m个查询,每次都有一个待查询区间. 分析 既然有多组查询,n只是1e4,那么可以考虑预 ...

  8. javascript 学习1

    1.javaScript允许对任意数据类型做比较,如boolean与number,false==0//true false === 0//false == 比较:自动转换数据类型进行比较,很多时候得到 ...

  9. 网络类型IPv4和IPv6什么意思?区别?

    在windows 7以上系统中,在设置本地IP地址的时候经常会看到同事含有IPV4协议项与IPV6协议项,并不同于以往windows xp系统中仅有TCP/IP协议项,不少朋友都觉得比较奇怪,询问编辑 ...

  10. mysql 案例 ~查询导致的tmp临时文件问题

    一 简介:之前遇到一个tmp分区暴涨的问题,后来经过大神的指点,遂分析写下 二 分类: 1  select语句出现 using temporay tmp 下出现 #sql_631a_1.MYD #sq ...