Python实战案例,Python脚本,Python实现批量下载百度图片

前言

今天我们就利用python脚本实现批量下载百度图片。直接开整~

如果有正在跟我一样的自学的朋友,需要我本篇的代码或者其他的Python学习资料可以加Python新手学习交流群:594356095添加助理直接获取

效果展示

Python实战案例,Python脚本,Python实现批量下载百度图片的图1

Python实战案例,Python脚本,Python实现批量下载百度图片的图2

编写思路:

1.获取图片的url链接

首先,打开百度图片首页,注意下图url中的index

Python实战案例,Python脚本,Python实现批量下载百度图片的图3

接着,把页面切换成传统翻页版(flip),因为这样有利于我们爬取图片!

Python实战案例,Python脚本,Python实现批量下载百度图片的图4

然后,右键检查网页源代码,直接(ctrl+F)搜索 objURL

Python实战案例,Python脚本,Python实现批量下载百度图片的图5

这样,我们发现了需要图片的url了。

2.把图片链接保存到本地

现在,我们要做的就是将这些信息爬取出来。

注:网页中有objURL,hoverURL…但是我们用的是objURL,因为这个是原图

正则表达式获取objURL

results = re.findall('"objURL":"(.*?)",', html)

源码展示:

1.获取图片url代码:

# 获取图片url连接
    for i in range(int(pn)):        # 1.获取网页
        print('正在获取第{}页'.format(i+1))        # 百度图片首页的url
        # name是你要搜索的关键词
        # pn是你想下载的页数

        url = 'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=%s&pn=%d' %(name,i*20)

        headers = {            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4843.400 QQBrowser/9.7.13021.400'}        # 发送请求,获取相应
        response = requests.get(url, headers=headers)
        html = response.content.decode()        # print(html)

        # 2.正则表达式解析网页
        # "objURL":"http://n.sinaimg.cn/sports/transform/20170406/dHEk-fycxmks5842687.jpg"
        results = re.findall('"objURL":"(.*?)",', html) # 返回一个列表

        # 根据获取到的图片链接,把图片保存到本地
        save_to_txt(results, name, i)</pre>

2.保存图片到本地代码:

# 保存图片到本地
    j = 0
    # 在当目录下创建文件夹
    if not os.path.exists('./' + name):
        os.makedirs('./' + name)    # 下载图片
    for result in results:        print('正在保存第{}个'.format(j))        try:
            pic = requests.get(result, timeout=10)
            time.sleep(1)        except:            print('当前图片无法下载')
            j += 1
            continue

        # 可忽略,这段代码有bug
        # file_name = result.split('/')
        # file_name = file_name[len(file_name) - 1]
        # print(file_name)
        #
        # end = re.search('(.png|.jpg|.jpeg|.gif)/pre>, file_name)
        # if end == None:
        #     file_name = file_name + '.jpg'

        # 把图片保存到文件夹
        file_full_name = './' + name + '/' + str(i) + '-' + str(j) + '.jpg'
        with open(file_full_name, 'wb') as f:
            f.write(pic.content)

        j += 1
核心代码:
pic = requests.get(result, timeout=10)
f.write(pic.content)

3.主函数代码:

# 主函数if __name__ == '__main__':

    name = input('请输入你要下载的关键词:')
    pn = input('你想下载前几页(1页有60张):')
    get_parse_page(pn, name)

文章到这里就结束了,感谢你的观看,Python实用脚本系列,下篇文章分享天气查询应用

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

⑥ 两天的Python爬虫训练营直播权限

All done~详见个人简介或者私信获取完整源代码。。

Python编程

Python实战案例,Python脚本,Python实现批量下载百度图片的评论1条

Python实战案例,Python脚本,Python实现批量下载百度图片的相关案例教程

上一篇的推文讲了三家自主品牌车企,上汽、长安、吉利。接下来讲讲剩下的七家,东风、北汽、长城、一汽、广汽、江淮。 Python腾讯大牛直播预约: 4. 东风 从下面东风的车可以看出,大部分都是商用车,了解一下东风小康。其实现在的东风启辰,也是东风日产旗下的品牌,一款假国产车(网评)。 import os import requests from lxml import etree headers =
需求描述:爬取知乎的答案,爬取并下载一个问题下所有回答中的图片。 实现平台:开发工具PyCharm2017,语言版本Python3.6,Chrome谷歌浏览器。 基本原理:1.发送请求,获取网页HTML源码;解析HTML,获取数据;保存数据。2 模拟浏览器登录,获取并解析HTML,获取数据。利用Python中的库即可便捷实现。 功能实现1:知乎答案爬取 实现思路: 1. 首先实现安装好第三方模块r
Python腾讯大牛直播预约: 细节图如下,因为图片色彩问题,有的图片会被复用,不过不影响大局啦~ 爬取代码如下: import requests import json import time import re headers = {     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML
本次收集的数据,都是自主品牌汽车,外资合资通通不要。首先去中国政府网来看看今年上半年自主品牌汽车的销量,这里面不单单包含乘用车。所以你会发现,新能源汽车老大—比亚迪,客车老大—宇通,商用车老大—北汽福田,以及皮尺部—众泰并不在榜上。 Python腾讯大牛直播预约: 新能源汽车与燃油车无非就是动力方面有区别,车型没什么区别,所以就以爬取燃油车为例。这里插一句,其实车企研发一辆新款车型不容易的,一般需
这里先对GitHub进行模拟登陆,了解会话及Cookies相关知识。 / 01 / 网页分析 首先看一下登录页,获取authenticity_token参数值,是一个隐藏式表单元素。 查看登录页的Response Headers,这里的Set-Cookie字段,是设置Cookies的过程。这边呢我的理解是,当你在session那个网页填写账号和密码后,这里就会自动生成一个Cookies返回(其实我
大专/讲师
影响力
粉丝
内容
获赞
收藏
    项目客服
    培训客服
    2 2