PythonCrawler jsonpath 下载服务器响应接口json数据图片

jsonpath 可以直接读取通过 json.load 格式化服务器响应的json数据,而不必保存到本地

from urllib import request as ure, parse as upa
import json, jsonpath

base_url = 'https://www.bh3.com/content/bh3Cn/getContentList?'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36 Edg/101.0.1210.32'
}

def getData(page):
    return {
        'pageSize': 9,
        'pageNum': page,
        'channelId': 177
    }

for page in range(1, 8):
    url = base_url + upa.urlencode(getData(page))
    request = ure.Request(url=url, headers=headers)
    response = ure.urlopen(request)
    content = response.read().decode('utf-8')
    res = json.loads(content)
    img_list = jsonpath.jsonpath(res, '$..value[0].url')
    name_list = jsonpath.jsonpath(res, '$..ext[1].value')
    for img in range(len(img_list)):
        filename = './honkai/' + name_list[img] + '.png'
        ure.urlretrieve(url=img_list[img], filename=filename)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值