于 2019.04.10 更新,解决微软Bing美图 -图片Url修改后获取失败问题
# python3 抓取bing今日美图的所有背景图片
import requests
from pyquery import PyQuery as pq
def download(p):
url = "http://bing.plmeizi.com/show/"+str(p)
res = requests.get(url).text
doc = pq(res)
img_url = doc.find('#picurl').attr("href")
print(i, img_url)
if img_url:
right = img_url.rindex('/')
right1 = img_url.rindex('Z')
name = img_url[right + 1:right1 - 1] + ".jpg" # 修改图片名,去掉多余字段.
img = requests.get(img_url).content
with open(".\\Bing_Photos\\" + name, "wb") as f: # 手动在程序同目录下建一个文件夹Bing_Photos,用于放置图片.
f.write(img)
for i in range(890, 820, -1): # 设置爬取天数,800对应日期20180805,依次增减即可。
download(i)
---------------------------------------以下为 2019.04.10 更新-------------------------------
# python3.6 抓取bing今日美图的所有背景图片---19.04.01
import os
import datetime
import requests
from pyquery import PyQuery as pQ
def download(a):
url = "http://bing.plmeizi.com/show/"+str(a)
res = requests.get(url).text
doc = pQ(res)
img_url = doc.find('#picurl').attr("href")
print(a, img_url)
if img_url:
right = img_url.rindex('R.')
right1 = img_url.rindex('Z')
name = img_url[right + 2:right1 - 1] + ".jpg" # 修改图片名,去掉多余字段.
img = requests.get(img_url).content
cur_dir = 'C://Users//Andy//Pictures//' # 手动在对应的用户目录下建一个用于放置图片的文件夹名BingPic
img_dir = os.path.join(cur_dir, "BingPic") # 如路径为 C://Users//XXX//Pictures//BingPic,XXX为你的用户名
with open(os.path.join(img_dir, name), "wb") as f:
f.write(img)
days = datetime.datetime.now().strftime('%j') # 定时每天更新一张图(编号 948 对应日期 2019-01-01的Bing壁纸的编号),days代表2019年第几天。
i = int(days)
download(948 + i)
***需手动在对应目录下建一个文件夹Bing_Photos,用于放置下载的图片。
原理是:通过改变网站
http://bing.plmeizi.com/show/ + XXX(三位数字) 来直接进入对应日期的Bing图片页面。(已不可用)