百度图片下载

import re
import os
from urllib.request import Request, urlopen, urlretrieve
import bs4
import json

def json_all(pn):
    links = []
    for i in range(0,pn+1):
        url = 'https://image.baidu.com/search/acjson?tn=resultjson_com&logid=6116183662344635930&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E5%88%97%E7%BB%B4%E5%9D%A6&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=&z=&ic=&hd=&latest=&copyright=&word=%E5%88%97%E7%BB%B4%E5%9D%A6&s=&se=&tab=&width=&height=&face=&istype=&qc=&nc=1&fr=&expermode=&force=&pn={}&rn=30&gsm=3c&1608184113114='.format(i * 30)
        header = {
            'Referer': 'https://image.baidu.com/search/index?tn=baiduimage',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}
        info_all = Request(url=url, headers=header)
        f=urlopen(info_all).read().decode('utf-8')
        info = json.loads(f)
        for i in info['data']:
            if 'hoverURL' in i.keys():
                # print(i['hoverURL'])
                links.append(i['hoverURL'])
    return links

if __name__ == '__main__':
    linkk=json_all(5)
    a=1
    for llink in linkk:

        dir=os.path.abspath('C:\\Users\\user\\PycharmProjects\\pythonProject\\2\\')
        work_path=os.path.join(dir,str(a)+'.jpg')
        urlretrieve(llink,work_path)
        a+=1


python3中urllib.request模块提供的urlretrieve()函数。urlretrieve()方法直接将远程数据下载到本地。
urlretrieve(url, filename=None, reporthook=None, data=None)
参数url:下载链接地址
参数filename:指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
参数reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
参数data:指post导服务器的数据,该方法返回一个包含两个元素的(filename, headers) 元组,filename 表示保存到本地的路径,header表示服务器的响应头

import os 
from urllib.request import urlretrieve
url='http://www.baidu.com' 
dir=os.path.abspath('.') 
work_path=os.path.join(dir,'baidu.html') 
urlretrieve(url,work_path)

import os
from urllib.request import urlretrieve
url='http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2'
dir=os.path.abspath('.')
work_path=os.path.join(dir,'Python-2.7.5.tar.bz2')
urlretrieve(url,work_path)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值