本人长期出售超大量微博数据,旅游网站评论数据,并提供各种指定数据爬取服务,消息发送到YuboonaZhang@Yahoo.com。同时欢迎加入社交媒体数据交流群:99918768
前言
最近在做机器学习下的人脸识别的学习,机器学习这个东西有点暴力,很大程度上靠训练的数据量来决定效果。为了找数据,通过一个博客的指导,浏览了几个很知名的数据集。
几个大型数据集是通过发邮件申请进行下载,几个小型数据集直接在网页的链接下载,还有一个Pubfig数据集则是提供了大量图片的链接来让我们自己写程序来下载。
权衡了数据量的需求,最后选择Pubfig的数据集,于是就自己写了一个python图片采集程序,里面用了urllib和请求两种方法。
分析Pubfig提供的下载文件的特点
这个数据文件提供了在数据集中出现的所有人物
这个数据文件提供了每个人的url
可以看出来这个数据集的处理其实非常简单了,可以通过readline的方式存进列表用空格分开一下数据就可以把url提取出来了。
处理一下url文件
url在文件的中后部,写个文件把它单纯地提取出来,方便使用。
我单独把Miley_Cyrus的部分提取出来放了一个txt文件
<=坝镅詐ython代码类> pic_url=[] 张开(“。/Miley_Cyrus.txt”) f: 因为我在f.readlines (): pic_url.append (i.strip (“\ r \ n”)) url=[] s pic_url: _、_、_、url、_, _=s.split () urls.append (url) #写入到文件里面 张开(url。数据”、“w”) f: 我的网址: f.write(我) f.write (“\ n”) 代码> >之前爬取url图片
1。Urllibs方法
<代码类="语言python ">进口urllib。请求,请求 进口套接字 进口操作系统 #在同级目录新建文件夹存图片 os.mkdir (’。/img”) #为请求增加一下头 user_agent=' Mozilla/5.0 (X11;Linux x86_64) AppleWebKit/537.36 (KHTML,像壁虎)Chrome/62.0.3202.62 Safari/537.36” 头=(“用户代理”,user_agent) 刀=request.build_opener () 首场比赛。addheaders=[标题] request.install_opener(刀) #设定一下无响应时间,防止有的坏图片长时间没办法下载下来 超时=20 socket.setdefaulttimeout(超时) #从文件里面读url url=[] 张开(“。/url.data”) f: 因为我在f.readlines (): 如果我!=": urls.append(我) 其他: 通过 #通过urllibs的请求获取所有的图片 数=1 bad_url=[] 为在url网址: url.rstrip (“\ n”) 打印(url) 试一试: 照片=请求。urlretrieve (url”。/img3/% d.jpg ' %数) 打印('照片% d ' %数) 数+=1 除了例外e: 打印(例外,“:”,e) bad_url.append (url) 打印(“\ n”) 打印(有所有照片都可以有) #把没有抓取到的url保存起来 张开(“bad_url3。数据”、“w”) f: 因为我在bad_url: f.write(我) f.write (“\ n”) 打印(“保存坏链接”) 代码> >之前2。请求方法
<代码类="语言python ">导入请求 进口套接字 进口操作系统 #在同级目录新建文件夹存图片 os.mkdir (’。/img”) #设定一下无响应时间,防止有的坏图片长时间没办法下载下来 超时=20 socket.setdefaulttimeout(超时) #从文件里面读url url=[] 张开(“。/url.data”) f: 因为我在f.readlines (): 如果我!=": urls.append(我) 其他: 通过 #为请求增加一下头,获取图片 user_agent=' Mozilla/5.0 (X11;Linux x86_64) AppleWebKit/537.36 (KHTML,像壁虎)Chrome/62.0.3202.62 Safari/537.36” 头={ “用户代理”:user_agent } bad_url=[] 数=1 为在url网址: url.rstrip (“\ n”) 打印(url) 试一试: 照片=请求。get (url,标题=标题) 张开(’。/img2/% d.jpg ' %计算,“世界银行”)f: f.write (pic.content) f.flush () 打印('照片% d ' %数) 数+=1 除了例外e: 打印(例外,“:”,e) bad_url.append (url) 打印(“\ n”) 打印(有所有照片都可以有) #保存坏链接 张开(“bad_url。数据”、“w”) f: 因为我在bad_url: f.write(我) f.write (“\ n”) 打印(“保存坏链接”)python爬取人脸识别图片数据集/python爬去图片/python爬虫