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页百度校园女神图片!的主要内容,如果未能解决你的问题,请参考以下文章

Python网络爬虫四多线程爬取多张百度图片的图片

python3爬取30张百度图片&大量百度图片王俊凯

python3爬取30张百度图片&大量百度图片王俊凯

python3爬取30张百度图片&大量百度图片王俊凯

爬虫实例林青霞女神照片爬取——百度贴吧

python3爬取百度图片(2018年11月3日有效)