python爬取百度图片

工作需要 在网上搜索大量人脸表情数据!这个想法应运而生!先进行百度图片搜索 就在瀑布模式就好 

利用检查元素 发现:

 python爬取百度图片

python爬取百度图片

只有pn 和后面的改变 我也不晓得后面什么意思 不过只是把pn进行修改 就ok了   一页是30张

代码:

#*--coding:utf8--*

import requests
import os
import sys
reload(sys)
sys.setdefaultencoding('utf8')
    x = 0

def getManyPages(keyword,pages):
    params=[]
    for i in range(0,30*pages,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',
                      '1517211097506': ''
                  })
    url = 'https://image.baidu.com/search/acjson'
    urls = []
    for i in params:
        urls.append(requests.get(url,params=i).json().get('data'))

 getImg(dataList,'e:/') # 参数2:指定保存的路径

 urls.pop()#后来发现一旦页数太多 会出错 因此 就不把所有urls保存之后再下载了!!


    return urls




def getImg(dataList, localPath):
 global x

    if not os.path.exists(localPath):  # 新建文件夹
        os.mkdir(localPath)



    for list in dataList:
        for i in list:
            if i.get('thumbURL') != None:
                print('正在下载:%s' % i.get(u'thumbURL'))
                ir = requests.get(i.get(u'thumbURL'))
                open(localPath + '%d.jpg' % x, 'wb').write(ir.content)
                x += 1
            else:
                print('图片链接不存在')


if __name__ == '__main__':
    strs=raw_input('请输入要查找的关键字:')
    pages=input('请输入下载的总页数:')
    dataList = getManyPages(strs,pages)