背景
桌面壁紙好久沒有更新,感到有些審美疲勞。必應每日推薦高質量壁紙,有好心人已經做成了專門的必應壁紙站,更新桌面壁紙,順便練手爬蟲小程序。
分析
第一步提取出全部圖片的鏈接,單個頁面正則提取后,加個翻頁功能即可。
第二步下載圖片。
提取圖片鏈接
單個頁面
def getPageImgUrl(url):
headers = {
'use_agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0',
}
res = requests.get(url,headers=headers).content
pattern = re.compile(r'data-progressive="(.*?)"')
urls = re.findall(pattern,res)
return urls
全部頁面,這里取前10頁
def getAllUrl():
l = []
for i in range(1,11):
url = 'https://bing.ioliu.cn/?p={}'.format(i)
u = getPageImgUrl(url)
l += u
return l
下載圖片
def DownloadImg(url):
headers = {
'use_agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0',
}
r = requests.get(url,headers=headers)
pattern = re.compile(r'/bing/(.*?)_1920')
filename = re.findall(pattern,url)
filename = str(filename)+'.jpg'
with open('/Users/markzhang/Documents/dailyimg/img/demo.jpg','w')as f:
os.getcwd()
os.chdir('/Users/markzhang/Documents/dailyimg/img/')
f.write(r.content)
os.rename('demo.jpg',filename)
下載10頁,120張圖片,用了120s,兩分鍾,效率不高,湊合着用