python 批量下载网页里的图片

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)

转载于:https://blog.51cto.com/13308811/2060142

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值