python顔認識画像データセット/python画像/python爬虫類

3751 ワード

本人は長期にわたって大量の微博のデータを販売して、旅行のウェブサイトの評論のデータ、そして各種の指定のデータの爬取サービスを提供して、Message [email protected].同時にソーシャルメディアデータ交流グループへようこそ:99918768
前言
最近は机械学习の下で人の颜の识别の学习をしていますが、机械学习というものは少し暴力的で、训练のデータ量で効果を决めることが多いです.データを探すために、ブログの指導を通じて、いくつかの有名なデータセットを閲覧しました.
いくつかの大型データセットはメールでダウンロードを申請し、いくつかの小型データセットは直接ホームページのリンクでダウンロードし、もう一つのPubfigデータセットは大量の画像のリンクを提供して私たちに自分でプログラムを書いてダウンロードさせます.
データ量の需要を比較して、最後にPubfigのデータセットを選んで、そこで自分でpythonピクチャー収集プログラムを書いて、中はurllibとrequestsの2つの方法を使いました.
Pubfigが提供するダウンロードファイルの特徴を分析する
people
このデータファイルは、データセットに表示されるすべての人物を提供します.
urls
このデータファイルは一人一人のurlsを提供しています
このデータセットの処理は実はとても簡単で、readlinesでリストに保存してスペースでデータを分けることでurlsを抽出することができます.
urlsファイルの処理
urlsはファイルの中後部に、ファイルを書いて単純に抽出し、使いやすい.Mileyを一人でCyrusの部分は取り出して1つのtxtファイルを放しました
pic_url = []
with open('./Miley_Cyrus.txt') as f:
    for i in f.readlines():
        pic_url.append(i.strip('\r
')) 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