当前位置: 首页 > Linux

python爬取人脸识别图像数据集-python爬取图像-python爬虫

时间:2023-04-06 21:21:32 Linux

长期出售大量微博数据和旅游网站评论数据,提供各种指定数据爬取服务,留言给YuboonaZhang@Yahoo。com。同时欢迎加入社交媒体数据交流群:99918768前言最近在做机器学习下的人脸识别学习。机器学习有点暴力,效果很大程度上取决于训练数据量。为了找数据,通过一个博客的引导,浏览了几个比较知名的数据集。几个大数据集是通过发送邮件应用下载的,几个小数据集是直接从网页上的链接下载的,还有一个Pubfig数据集提供了大量图片的链接供我们编写程序下载。权衡了对数据量的需求,最终选择了Pubfig数据集,于是自己写了一个python图片获取程序,使用了urllib和requests两种方式。分析Pubfig提供的下载文件的特征。这个数据文件提供了数据集中出现的所有人物的数据文件,提供了每个人的url。可以看出,这个数据集的处理其实很简单。可以通过readlines存入列表,用空格分隔提取url。处理urls文件。网址位于文件的中间和后面。写一个文件简单解压即可,使用方便。我把Miley_Cyrus的部分单独提取出来放在一个txt文件里pic_url=[]withopen('./Miley_Cyrus.txt')asf:foriinf.readlines():pic_url.append(i.strip('\r\n'))urls=[]forsinpic_url:_,_,_,url,_,_=s.split()urls.append(url)#writetothefilewithopen('url.data','w')asf:foriinurls:f.write(i)f.write('\n')抓取url图片1.同级urllibs方法importurllib.requestasrequestimportsocketimportos#在保存图片的目录下新建一个文件夹os.mkdir('./img')#给请求添加一个headeruser_agent='Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/62.0.3202.62Safari/537.36'headers=('User-Agent',user_agent)opener=request.build_opener()opener.addheaders=[headers]request.install_opener(opener)#设置无响应时间,防止出现一些不良图片长时间不可用Downloadtimeout=20socket.setdefaulttimeout(timeout)#Readurlsfromthefilesurls=[]withopen('./url.data')asf:foriinf.readlines():ifi!='':urls.append(i)else:pass#通过urllibs获取所有图片requestscount=1bad_url=[]forurl中的url:url.rstrip('\n')print(url)尝试:pic=request.urlretrieve(url,'./img3/%d.jpg'%count)print('pic%d'%count)count+=1exceptExceptionase:print(Exception,':',e)bad_url.append(url)print('\n')print('得到所有可以得到的照片')#得到所有可以得到的照片begoturlsavedwithopen('bad_url3.data','w')asf:foriinbad_url:f.write(i)f.write('\n')print('savedbadurls')2.Requestsmethodimportrequestsimportsocketimportos#在同级目录下新建一个文件夹,用于保存图片os.mkdir('./img')#设置无响应时间,防止一些不好的图片长时间下载timeout=20socket.setdefaulttimeout(timeout)#从文件中读取urlsurls=[]withopen('./url.data')asf:foriinf.readlines():ifi!='':urls.append(i)else:pass#在获取图片的请求中添加一个headeruser_agent='Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/62.0.3202.62Safari/537.36'headers={'User-Agent':user_agent}bad_url=[]count=1forurlinurls:url.rstrip('\n')print(url)try:pic=requests.get(url,headers=headers)withopen('./img2/%d.jpg'%count,'wb')作为f:f.write(pic.content)f.flush()print('pic%d'%count)count+=1除了Exceptionase:print(Exception,':',e)bad_url.append(url)print('\n')print('得到所有可以得到的照片')#保存坏链接withopen('bad_url.data','w')asf:foriinbad_url:f.write(i)f.write('\n')print('savedbadurls')个人博客8aoy1.cn