如何Python爬取百度图片,函数一步到位!!!

阿巴阿巴阿巴

当我们在百度上需要查(xue)阅(xi)一些图片的时候,常常会因为图片的好看,需要不断的另存为,那么能否通过Python进行大量的下载操作呢?答案是可以的!!!

话不多说,上代码。

def tp(tp=None):
    import re
    import requests
    import json
    import os
    os.makedirs("C:\\Users\\admin\\Desktop\\"+tp)#换成自己的路径
    h={'Cookie':'winWH=%5E6_1920x969; BDIMGISLOGIN=0; BDqhfp=%E4%B8%96%E7%95%8C%E5%90%8D%E7%94%BB%26%26-10-1undefined%26%260%26%261; BIDUPSID=DB671988AB922DE7E15068E9F96E2597; PSTM=1593146069; BAIDUID=DB671988AB922DE781AC3E304FE7B755:FG=1; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; delPer=0; PSINO=6; ZD_ENTRY=baidu; H_PS_PSSID=32095_1442_31325_21093_32139_31660_32046_31845_26350; td_cookie=2755262915; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; userFrom=null; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm; cleanHistoryStatus=0; indexPageSugList=%5B%22%E4%B8%96%E7%95%8C%E5%90%8D%E7%94%BB%22%2C%22%E4%B8%96%E7%95%8C%E5%90%8D%E7%94%BB%E6%A8%A1%E4%BB%BF%E7%A7%80%22%5D; BDRCVFR[tox4WRQ4-Km]=mk3SLVN4HKm',
       'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}
    url=[]#XHR文件网址
    web=[]#照片网址
    for i in range(20):#这里可以改爬取“页数”,每页是30张图
        url.append('https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord='+tp+'&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=&hd=&latest=&copyright=&word='+tp+'&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&force=&pn='+str((i+1)*30)+'&rn=30&gsm=1e&1593165319327=')
    for k in url:
        jx=requests.get(k,headers=h)
        xx=jx.json()['data']
        for p in range(len(xx)-1):
            web.append(xx[p]['thumbURL'])#储存图片网址
    for j in range(len(web)):
        res=requests.get(web[j],headers=h)
        with open('C:\\Users\\admin\\Desktop\\'+tp+'\\'+str(j)+'.jpg','wb') as f:
            f.write(res.content)#换自己的路径
    return

那我们就拿淑仪姐来做个例子,进行爬取。

tp('周淑怡')

发现效果不错
在这里插入图片描述

可能出现的报错分析

1.桌面有同名文件夹

删除或重命名那个同名文件夹,再者就是改代码。
在这里插入图片描述

2.爬取对象没有那么多张图

把爬取页数,改少一点
在这里插入图片描述

特殊情况

仔细看看自己的路径是不是对应着
在这里插入图片描述

快快快,学习

注:本次所抓取的数据仅为学习研究之目的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值