获取bing每日图片

http://global.bing.com/HPImageArchive.aspx?format=xml&idx=0&n=1&mkt=en-US

其中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("<url>.*</url>")
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)
原文地址:https://www.cnblogs.com/makejeffer/p/5608225.html