python实现爬取30页百度校园女神图片!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python实现爬取30页百度校园女神图片!相关的知识,希望对你有一定的参考价值。
1、以下是源代码
import requests
import os
def getManyPages(keyword,pages):
params=[]
for i in range(30,30*pages+30,30):
#以下是请求服务器参数,浏览器里可以找到
params.append({
'tn': 'resultjson_com',
'ipn': 'rj',
'ct': 201326592,
'is': '',
'fp': 'result',
'queryWord': keyword,
'cl': 2,
'lm': -1,
'ie': 'utf-8',
'oe': 'utf-8',
'adpicid': '',
'st': -1,
'z': '',
'ic': 0,
'word': keyword,
's': '',
'se': '',
'tab': '',
'width': '',
'height': '',
'face': 0,
'istype': 2,
'qc': '',
'nc': 1,
'fr': '',
'pn': i,
'rn': 30,
'gsm': '1e',
'1517540092108': ''
})
url = 'https://image.baidu.com/search/acjson'
urls = []
for i in params:
urls.append(requests.get(url,params=i).json().get('data'))
return urls
def getImg(dataList, localPath):
if not os.path.exists(localPath): # 新建文件夹
os.mkdir(localPath)
x = 300
for list in dataList:
for i in list:
if i.get('middleURL') != None:
print('正在下载:%s' % i.get('middleURL'))
ir = requests.get(i.get('middleURL'))
open(localPath + '%d.jpg' % x, 'wb').write(ir.content)
x += 1
else:
print('图片链接不存在')
if __name__ == '__main__':
dataList = getManyPages('校园女神',10) # 参数1:你想查找的图片类型(我查找的是校园女神),参数2:要下载的页数
getImg(dataList,'F:/pics/') # 参数2:保存的路径,我这里保存在F盘pics文件夹下
2、
3、执行之后的结果如下图
以上是关于python实现爬取30页百度校园女神图片!的主要内容,如果未能解决你的问题,请参考以下文章