(爬)微信公眾號上的圖片下載
(爬)微信公眾號上的圖片下載
想要抓微信公眾號的精美藏傳佛教的唐卡來加入法本裡。一張張下載
有點麻煩,於是動手練習和實作抓圖。
試著用F12的network找不到json可直接讀取,所以用requests,和bs4解析找出img
但因為找出的img裡面包含有png和impeg,我真正要的圖檔是png
下圖的插圖和主圖檔的分辨,所以要在程式裡過濾掉jpg
jpg檔
png檔
程式碼
import requests
from bs4 import BeautifulSoup
url='https://mp.weixin.qq.com/s?__biz=MzA5MjMzODYwMw==&mid=2650980934&idx=1&sn=bbc779a30a9dc37dfc5c0501d05f98d8&chksm=8b98c282bcef4b94c56a787dbd0cf2b437aa61374e45b138e9ed77ad1b1351ee46844ea7748f&mpshare=1&&srcid=0123qBszvYueATehmkqULd6u&sharer_sharetime=1611394994271&sharer_shareid=9ee1c47e93c47989d62b673511c9a310&scene=1&subscene=10000&clicktime=1611395817&enterid=1611395817#rd'
html=requests.get(url)
soup=BeautifulSoup(html.text, 'lxml')
pics=soup.find_all('img')[2:]
imgdict=[]
try:
for i in pics:
相片連結=i['data-src']
if 相片連結[-3:]=='png':
imgdict.append(相片連結)
except:
print("部份圖片無法下載")
num=0
for i in imgdict:
r=requests.get(i)
with open(r'D:\test'+'\\'+str(num)+'.png', 'wb') as file:
for d in r.iter_content(10240):
file.write(d)
file.close()
print("%s.jpg下載成功"%num)
num+=1
留言
張貼留言