1. 程式人生 > >python 批量下載網頁裏的圖片

python 批量下載網頁裏的圖片

www file header range .html filename 表達 則表達式 進行

python 3.*

import requests
import sys,re
#設置提取圖片url 的正則表達式
imgre = re.compile(r"<img id=\"imgis\" src=‘(.*?)‘")
#存放找到的 圖片url的列表
all_img_urls = []
#圖片下載後存放位置
save_path = r‘/root‘
#獲取指定網頁中的圖片url
def get_img_url(tmpurl,tmpre,allimgurl,timeout=10):
headers = {‘User-Agent‘: ‘Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36‘}

link = requests.get(tmpurl,headers=headers,timeout = timeout)
content = link.text
retsults = tmpre.findall(content)
for i in retsults:
allimgurl.append(i)
#對圖片url進行下載保存
def save_img(tmpurl,tmppath,timeout=10):
headers = {‘User-Agent‘: ‘Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36‘}
ret = requests.get(tmpurl,headers=headers,timeout=timeout)
img = ret.content
filename = ‘{}/{}‘.format(tmppath,tmpurl.split(‘/‘)[-1])
with open(filename,‘wb‘) as f:
f.write(img)

if name == ‘main‘:
urls = [‘http://www.ivsky.com/bizhi/death_note_v17111/pic_{}.html#al_tit‘.format(385791+x) for x in range(10)]
try:
for url in urls:

imgurls = get_img_url(url, imgre, all_img_urls)
except Exception as e:
print(e)

for img in all_img_urls:
    try:
        save_img(img,save_path)
    except Exception as e:
        print(e)

python 批量下載網頁裏的圖片