# 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 更新-------------------------------html
# 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圖片頁面。(已不可用)python