资讯专栏INFORMATION COLUMN

python爬取人脸识别图片数据集/python爬去图片/python爬虫

cnio / 1562人阅读

摘要:本人长期出售超大量微博数据旅游网站评论数据,并提供各种指定数据爬取服务,。同时欢迎加入社交媒体数据交流群前言最近在做机器学习下的人脸识别的学习,机器学习这个东西有点暴力,很大程度上靠训练的数据量来决定效果。

本人长期出售超大量微博数据、旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com。同时欢迎加入社交媒体数据交流群:99918768

前言

最近在做机器学习下的人脸识别的学习,机器学习这个东西有点暴力,很大程度上靠训练的数据量来决定效果。为了找数据,通过一个博客的指导,浏览了几个很知名的数据集。

几个大型数据集是通过发邮件申请进行下载,几个小型数据集直接在网页的链接下载,还有一个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("
"))

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("
")
爬取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("
")
    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("
")
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("
")
    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("
")
    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("
")
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("
")
    print("saved bad urls")
个人博客

8aoy1.cn

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41349.html

相关文章

  • 爬虫 - 收藏 - 掘金

    摘要:在这之前,还是有必要对一些概念超轻量级反爬虫方案后端掘金前言爬虫和反爬虫日益成为每家公司的标配系统。 爬虫修炼之道——从网页中提取结构化数据并保存(以爬取糗百文本板块所有糗事为例) - 后端 - 掘金欢迎大家关注我的专题:爬虫修炼之道 上篇 爬虫修炼之道——编写一个爬取多页面的网络爬虫主要讲解了如何使用python编写一个可以下载多页面的爬虫,如何将相对URL转为绝对URL,如何限速,...

    1fe1se 评论0 收藏0
  • 首次公开,整理12年积累的博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0
  • Python从入门到转行

    摘要:学了大半年之后成功转行做前端了。包含大量其他神经网络库中的包装器和抽象,其中最值得注意的是,其中也包含一些机器学习的实用模块。它是轻量级可扩展的神经网络工具包,同时拥有友好的界面,可供机器学习的训练和预测使用。 题记:大二的时候发现人生苦短,所以信了拍神,开始学Python。学了大半年之后成功转行做前端了。来写个教程帮助大家入门Python。 Python零基础入门 零基础入门就得从最...

    ingood 评论0 收藏0
  • SegmentFault 技术周刊 Vol.30 - 学习 Python 来做一些神奇好玩的事情吧

    摘要:学习笔记七数学形态学关注的是图像中的形状,它提供了一些方法用于检测形状和改变形状。学习笔记十一尺度不变特征变换,简称是图像局部特征提取的现代方法基于区域图像块的分析。本文的目的是简明扼要地说明的编码机制,并给出一些建议。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 开始之前,我们先来看这样一个提问: pyth...

    lifesimple 评论0 收藏0

发表评论

0条评论

cnio

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<