阿巴阿巴阿巴
当我们在百度上需要查(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=©right=&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.爬取对象没有那么多张图
把爬取页数,改少一点
特殊情况
仔细看看自己的路径是不是对应着