Python web crawler(4)图片的下载(单线程)

下载图片(单线程)

import os.path
import requests

# 异步加载数据的接口
url = '************************************.com'
headers = {
    'User-Agent': '****************************',
    'Cookie': '********************************',
    'Referer': '*******************************',
}
response = requests.get(url, headers=headers)
# response.text  # 如果返回的是json数据 使用当前方式获取 需要import json json.loads()
data = response.json()  # 会直接返回字典  但是需要注意  如果返回数据中不是json数据 则会报错
# print(data['items'])  # 获取当前里面的电影数据


path = 'img'  # 图片下载路径
if not os.path.exists(path):
    os.mkdir(path)

for line in data['items']:
    try:
        # 图片下载
        img_url = line['pic']['normal']
        res = requests.get(img_url)
        # 图片保存
        with open(os.path.join(path, line['title'] + '.jpg'), 'wb') as f:
            f.write(res.content)
    except:
        pass

 

urllib下载方式:

import os.path
import requests
from urllib import request as r

# 异步加载数据的接口
url = '************************************.com'
headers = {
    'User-Agent': '****************************',
    'Cookie': '********************************',
    'Referer': '*******************************',
}
response = requests.get(url, headers=headers)

data = response.json()  # 会直接返回字典  但是需要注意  如果返回数据中不是json数据 则会报错
# print(data['items'])  # 获取当前里面的电影数据
path = 'img'  # 图片下载路径
if not os.path.exists(path):
    os.mkdir(path)
i = 1
for line in data['items']:
    try:
        # 获取封面路径
        img_url = line['pic']['large']
        
        # requests下载方式:
        # res = requests.get(img_url)
        # with open(os.path.join(path, str(i)+'.jpg'), 'wb') as f:
        #     f.write(res.content)
        
        # urllib下载方式:
        r.urlretrieve(img_url, filename=os.path.join(path, str(i)+'.jpg'))
        
        i += 1
    except:
        pass

下载成功结果:

posted @   Magiclala  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示