python3 TensorFlow训练数据集准备 下载一些百度图片 入门级爬虫示例

从百度图片下载一些图片当做训练集,好久没写爬虫,生疏了。没有任何反爬,随便抓。

网页:

动态加载,往下划会出现更多的图片,一次大概30个。先找到保存每一张图片的json,其对应的url:

打开调试,清空,然后往下划。然后出现:

点击左侧的链接,出现右边的详细信息,对应的就是URL。对这个url做请求即可。以下是代码:

# -*- coding: utf-8 -*-
# import tensorflow as tf
# import os
# import numpy as np
import requests
import my_fake_useragent as ua
import re
import random

# 蓝色背景
def blue_print(*s, end=‘\n‘):
    for item in s:
        print(‘\033[46m {} \033[0m‘.format(item), end=‘‘)
    print(end=end)

# 高亮,绿色字体,红色背景
def green_print(*s, end=‘\n‘):
    # print(‘\033[1m {} \033[0m‘.format(s), end=end)
    for item in s:
        print(‘\033[1;32;41m {} \033[0m‘.format(item), end=‘‘)
    print(end=end)

class download_data():
    def __init__(self):
        # 初始化常用参数
        # 请求头
        self.user_agent = ua.UserAgent()
        # 正则用于匹配响应内容中的图片url
        self.pattern_url = r‘"thumbURL":"(.*?)"‘

    # 爬虫:从网上下载数据集
    def get_url_from_internet(self, url):
        for i in range(5):
            try:
                # print(self.user_agent.random())
                res = requests.get(url, headers={‘User-Agent‘: self.user_agent.random()}, timeout=5)
                # print(res.text)
                url_list = re.findall(self.pattern_url, res.text)
                # print(url_list)
                return url_list
            except:
                pass

        # 这里可以将请求失败的url存入数据库,防止数据丢失
        return None

    def write_img(self, url):
        for i in range(3):
            try:
                # 真正下载图片数据的,就这两行代码
                res = requests.get(url, headers={‘User-Agent‘: self.user_agent.random()}, timeout=5)
                img = res.content
                # print(img)

                # 将响应内容写入本地*.jpg文件中
                with open(‘dataset/monkey{}.jpg‘.format(random.randint(10 ** 8, 10 ** 9)), ‘wb‘) as f:
                    f.write(img)
                print(‘monkey{} 下载完成‘.format(random.randint(10 ** 8, 10 ** 9)))
                return
            except:
                pass

        # 这里可以将请求失败的url存入数据库,防止数据丢失
        return None

if __name__ == ‘__main__‘:
    tt = download_data()
    for page in range(0, 1000, 30):
        # 构造url,设置range的右边界越大,下载的图片就越多
        url = ‘https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result            &queryWord=%E7%8C%B4%E5%AD%90+%E5%9B%BE%E7%89%87&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=&z=&ic=            &hd=&latest=&copyright=&word=%E7%8C%B4%E5%AD%90+%E5%9B%BE%E7%89%87&s=&se=&tab=&width=&height=&face=            &istype=&qc=&nc=&fr=&expermode=&force=&pn={}&rn=30&gsm=&1572502599384=‘.format(page)
        url_list = tt.get_url_from_internet(url)
        if url_list:
            for each_url in url_list:
                tt.write_img(each_url)

什么都不打印看着不舒服,随便打印一些结果出来:

文件夹:

用网上的图片作训练集,而且还是自己抓的,效果估计不会太好。先用着看。自己手动将质量差的图片删一删。

原文地址:https://www.cnblogs.com/zrmw/p/11771710.html

时间: 2024-11-10 13:12:14

python3 TensorFlow训练数据集准备 下载一些百度图片 入门级爬虫示例的相关文章

百度图片小爬虫

刚学习爬虫,写了一个百度图片爬虫当作练习. 环境:python3.6(请下好第三方库requests) 实现的功能:输入关键字,下载240张关键字有关的百度图片到本地的d:\百度图片\关键字\文件夹中. 百度图片的加载是ajax异步形式的,除了前面的一部分图片,后面靠下拉加载的图片都是异步从服务器端请求得到的.这些异步加载的图片的信息可以在一个个acjson的百度图片接口中,可以在开发者工具中xhr下找到这些文件. 接下来上代码: import requestsimport reimport o

百度图片爬虫-python版-如何爬取百度图片?

上一篇我写了如何爬取百度网盘的爬虫,在这里还是重温一下,把链接附上: http://5912119.blog.51cto.com/5902119/1771391 这一篇我想写写如何爬取百度图片的爬虫,这个爬虫也是:搜搜gif(在线制作功能点我) 的爬虫代码,其实爬虫整体框架还是差不多的,但就是会涉及到图片的的一些处理,还是花费了我不少时间的,所以我请阅读的本爬虫的孩子还是认真一些,毕竟程序猿都不容易啊.好的,我也不想多说,爬虫的代码我会分享到去转盘网,想下载本爬虫代码的孩子请点我下载,如果没有下

Tensorflow MNIST 数据集測试代码入门

本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50614444 測试代码已上传至GitHub:yhlleo/mnist 将MNIST数据集,下载后复制到目录Mnist_data中,假设已经配置好tensorflow环境,基本的四个測试代码文件,都能够直接编译执行: mnist_softmax.py: MNIST机器学习入门 mnist_deep.py: 深入MNIST fully_co

TensorFlow 训练 MNIST (1)—— softmax 单层神经网络

1.MNIST数据集简介 首先通过下面两行代码获取到TensorFlow内置的MNIST数据集: from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets('./data/mnist', one_hot=True) MNIST数据集共有55000(mnist.train.num_examples)张用于训练的数据,对应的有55000个标签:共有10000(mnist.t

基于C#百度图片批量下载工具的实现

在家没网,无聊怎么办?不如来看点美女图片吧,网络快时批量下载,有空时慢慢看,嘿嘿,本人是个好人.于是这个工具的实现,那简直是迫在眉睫啊,来看看是怎么实现的吧. 先上图片吧: 这是软件的WinForm界面,基于C#实现. 上代码,也就100多行. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using Sys

自己动手写工具:百度图片批量下载器

开篇:在某些场景下,我们想要对百度图片搜出来的东东进行保存,但是一个一个得下载保存不仅耗时而且费劲,有木有一种方法能够简化我们的工作量呢,让我们在离线模式下也能爽爽地浏览大量的美图呢?于是,我们想到了使用网络抓取去帮我们去下载图片,并且保存到我们设定的文件夹中,现在我们就来看看如何来设计开发一个这样的图片批量下载器. 一.关于网络抓取与爬虫 网络蜘蛛的主要作用是从Internet上不停地下载网络资源.它的基本实现思想就是通过一个或多个入口网址来获取更多的URL,然后通过对这些URL所指向的网络资

Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载

原文:http://blog.csdn.net/shulianghan/article/details/38023959 最近 Google 被墙了, 上传一下自己收集的 Android 开发环境, 下面给出的官网链接也可以下载; 1. 百度网盘下载地址 Android集成环境 NDK JDK 总链接 : http://pan.baidu.com/s/1bnjaDKb; Android Studio Linux版 : http://pan.baidu.com/s/1eQjA6MA ; Adt B

java实现批量下载百度图片搜索到的图片

就是写的个小程序,用于记录一下,方便后续查看,首先感谢下面这个博客,从这篇文章衍生的吧,大家可以学习下: http://www.cnblogs.com/lichenwei/p/4610298.html 读了这边文章,觉得很有意思,就模仿着写了个,从百度图片所有并下载到本地,主要思路是一样的. 贴下代码: package com.guo.common; import java.io.BufferedReader; import java.io.BufferedWriter; import java

如何用Python爬虫实现百度图片自动下载?

Github:https://github.com/nnngu/LearningNotes 制作爬虫的步骤 制作一个爬虫一般分以下几个步骤: 分析需求 分析网页源代码,配合开发者工具 编写正则表达式或者XPath表达式 正式编写 python 爬虫代码 效果预览 运行效果如下: 存放图片的文件夹: 需求分析 我们的爬虫至少要实现两个功能:一是搜索图片,二是自动下载. 搜索图片:最容易想到的是爬百度图片的结果,我们就上百度图片看看: 随便搜索几个关键字,可以看到已经搜索出来很多张图片: 分析网页