其中idx表示倒数第几张图片0就是今天的1就是昨天的几就是几天前的每日图片
返回XML简单明了
用python获取返回的XML并用正则表达式找出图片的URL,用PyMySQL将其插入数据库供日后使用
我服务器上的代码如下
1 from urllib import request 2 import re 3 import requests 4 import pymysql 5 6 7 def insertPic(picName): 8 connect = pymysql.connect(host='localhost', user='jeff', password='xxxx', db='jeff',charset='utf8') 9 cur = connect.cursor()10 sql = 'INSERT bingPic(name) VALUES(%s)'11 cur.execute(sql, (picName))12 connect.commit()13 connect.close()14 15 def getXML(url):16 page = request.urlopen(url)17 return page.read().decode('utf-8')18 19 20 def saveImage(directory, imageURL, imageName):21 image = open(directory + imageName, 'wb')22 image.write(requests.get(imageURL).content)23 image.close()24 25 26 globalBing = 'http://global.bing.com/HPImageArchive.aspx?format=xml&idx=0&n=1&mkt=en-US'27 chinaBing = 'http://www.bing.com/HPImageArchive.aspx?format=xml&idx=0&n=1'28 path = '/home/jeff/web/resources/pic/bing/'29 30 xmlGlobal = getXML(globalBing)31 32 p = re.compile(".* ")33 result = re.findall(p, xmlGlobal)34 picUrl = 'http://global.bing.com' + result[0][5:-6]35 picName = picUrl.split('/')[-1]36 37 saveImage(path, picUrl, picName)38 insertPic(picName)39 print(picName)