python下载图片代码_基于Python下载网络图片方法汇总代码实例

本文详细介绍了如何使用Python下载网络图片,包括通过图片URL直接下载、正则表达式解析HTML和使用BeautifulSoup解析HTML获取图片URL。提供多个代码示例,覆盖了批量下载和处理动态网页的情况。
摘要由CSDN通过智能技术生成

本文介绍下载python下载网络图片的方法,包括通过图片url直接下载、通过re/beautifulSoup解析html下载以及对动态网页的处理等。

通过pic_url单个/批量下载

已知图片url,例如http://xyz.com/series-*(1,2..N).jpg,共N张图片,其链接形式较为固定,这样经简单循环,直接通过`f.write(requests.get(url).content)'即可以二进制形式将图片写入。

import os

import requests

def download(file_path, picture_url):

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE",

}

r = requests.get(picture_url, headers=headers)

with open(file_path, 'wb') as f:

f.write(r.content)

def main():

os.makedirs('./pic/', exist_ok=True) # 输出目录

prefix_url = 'http://xyz.com/series-' # 同一类目下的图片url前缀

n = 6 # 该类目下的图片总数

tmp = prefix_url.split('/')[-1]

for i in range(1, n + 1):

file_path = './pic/' + tmp + str(i) + '.jpg'

picture_url = prefix_url + str(i) + '.jpg'

download(file_path, picture_url)

if __name__ == '__main__':

main()

正则re解析html获取pic_url后下载

在实际操作中,图片url按序排列情况较少,多数情况下用户仅知道网页url,需要对当前网页htnl内容进行解析,获取源码中包含的图片url,常用方法有正则表达式匹配或BeautifulSoup等库解析的方法。

正则re解析的思路是:首先通过 requests.get(url).text 获得当前页面html源码;然后通过正则表达式匹配图片url,如 re.compile(r'[a-zA-z]+://[^\s]*\.jpg') 正则式一般会得到.jpg结尾的url,但其他网站图片url可能会以.png或.webp等结尾,甚至需要其他的正则匹配,为此,读者需要对正则表达式有所了解,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值