python爬取人脸识别图片数据集/python爬去图片/python爬虫
2018-02-03 11:29
555 查看
本人长期出售超大量微博数据、旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com
几个大型数据集是通过发邮件申请进行下载,几个小型数据集直接在网页的链接下载,还有一个Pubfig数据集则是提供了大量图片的链接来让我们自己写程序来下载。
权衡了数据量的需求,最后选择Pubfig的数据集,于是就自己写了一个python图片采集程序,里面用了urllib和requests两种方法.
这个数据文件提供了在数据集中出现的所有人物
这个数据文件提供了每个人的urls
可以看出来这个数据集的处理其实非常简单了,可以通过readlines的方式存进列表用空格分开一下数据就可以把urls提取出来了。
我单独把Miley_Cyrus的部分提取出来放了一个txt文件
前言
最近在做机器学习下的人脸识别的学习,机器学习这个东西有点暴力,很大程度上靠训练的数据量来决定效果。为了找数据,通过一个博客的指导,浏览了几个很知名的数据集。几个大型数据集是通过发邮件申请进行下载,几个小型数据集直接在网页的链接下载,还有一个Pubfig数据集则是提供了大量图片的链接来让我们自己写程序来下载。
权衡了数据量的需求,最后选择Pubfig的数据集,于是就自己写了一个python图片采集程序,里面用了urllib和requests两种方法.
分析Pubfig提供的下载文件的特点
这个数据文件提供了在数据集中出现的所有人物
这个数据文件提供了每个人的urls
可以看出来这个数据集的处理其实非常简单了,可以通过readlines的方式存进列表用空格分开一下数据就可以把urls提取出来了。
处理一下urls文件
urls在文件的中后部,写个文件把它单纯地提取出来,方便使用。我单独把Miley_Cyrus的部分提取出来放了一个txt文件
pic_url = [] with open('./Miley_Cyrus.txt') as f: for i in f.readlines(): pic_url.append(i.strip('\r\n')) urls = [] for s in pic_url: _, _, _, url, _, _ = s.split() urls.append(url) # 写入到文件里面 with open('url.data', 'w') as f: for i in urls: f.write(i) f.write('\n')
爬取urls图片
1. Urllibs方法
import urllib.request as request import socket import os # 在同级目录新建文件夹存图片 os.mkdir('./img') # 为请求增加一下头 user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36' headers = ('User-Agent', user_agent) opener = request.build_opener() opener.addheaders = [headers] request.install_opener(opener) # 设定一下无响应时间,防止有的坏图片长时间没办法下载下来 timeout = 20 socket.setdefaulttimeout(timeout) # 从文件里面读urls urls = [] with open('./url.data') as f: for i in f.readlines(): if i != '': urls.append(i) else: pass # 通过urllibs的requests获取所有的图片 count = 1 bad_url = [] for url in urls: url.rstrip('\n') print(url) try: pic = request.urlretrieve(url, './img3/%d.jpg' % count) print('pic %d' % count) count += 1 except Exception as e: print(Exception, ':', e) bad_url.append(url) print('\n') print('got all photos that can be got') # 把没有抓取到的urls保存起来 with open('bad_url3.data', 'w') as f: for i in bad_url: f.write(i) f.write('\n') print('saved bad urls')
2. Requests方法
import requests import socket import os # 在同级目录新建文件夹存图片 os.mkdir('./img') # 设定一下无响应时间,防止有的坏图片长时间没办法下载下来 timeout = 20 socket.setdefaulttimeout(timeout) # 从文件里面读urls urls = [] with open('./url.data') as f: for i in f.readlines(): if i != '': urls.append(i) else: pass # 为请求增加一下头,获取图片 user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36' headers = { 'User-Agent': user_agent } bad_url = [] count = 1 for url in urls: url.rstrip('\n') print(url) try: pic = requests.get(url, headers=headers) with open('./img2/%d.jpg' % count, 'wb') as f: f.write(pic.content) f.flush() print('pic %d' % count) count += 1 except Exception as e: print(Exception, ':', e) bad_url.append(url) print('\n') print('got all photos that can be got') # 保存坏链接 with open('bad_url.data', 'w') as f: for i in bad_url: f.write(i) f.write('\n') print('saved bad urls')
相关文章推荐
- python爬取人脸识别图片数据集/python爬去图片/python爬虫
- python爬取人脸识别图片数据集/python爬去图片/python爬虫
- python爬取人脸识别图片数据集/python爬去图片/python爬虫
- gabor变换人脸识别的python实现,att_faces数据集平均识别率99%
- python利用Opencv进行人脸识别(视频流+图片)
- Python 对图片进行人脸识别
- 基于python3 OpenCV3实现静态图片人脸识别
- python-opencv-人脸识别实现 从图片中扣人脸
- python爬虫点触验证码的识别思路(图片版)
- Python将自己的图片数据集导入h5py,做识别的预处理
- 静态图片人脸识别 OpenCV3,Python3实现
- opencv-python 基本例子3个---显示图片,绘制图形,人脸识别
- Python爬虫 + 人脸检测 + 颜值检测 = 知乎高颜值图片抓取
- python多进程,使用用微软RENET模型的视频人脸识别程序
- Python 3 色情图片识别
- Python + OpenCV 实现简单的人脸识别
- <四>、python爬虫抓取购物网站商品信息--图片价格名称
- python爬虫框架scrapy学习图片下载
- python好玩的项目—色情图片识别代码分享
- Python中Scrapy爬虫图片处理详解