1. 程式人生 > >python爬取人臉識別圖片資料集/python爬去圖片/python爬蟲

python爬取人臉識別圖片資料集/python爬去圖片/python爬蟲

本人長期出售超大量微博資料、旅遊網站評論資料,並提供各種指定資料爬取服務,Message to [email protected]

前言

最近在做機器學習下的人臉識別的學習,機器學習這個東西有點暴力,很大程度上靠訓練的資料量來決定效果。為了找資料,通過一個部落格的指導,瀏覽了幾個很知名的資料集。

幾個大型資料集是通過發郵件申請進行下載,幾個小型資料集直接在網頁的連結下載,還有一個Pubfig資料集則是提供了大量圖片的連結來讓我們自己寫程式來下載。

權衡了資料量的需求,最後選擇Pubfig的資料集,於是就自己寫了一個python圖片採集程式,裡面用了urllib和requests兩種方法.

分析Pubfig提供的下載檔案的特點

people
這個資料檔案提供了在資料集中出現的所有人物
urls
這個資料檔案提供了每個人的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爬蟲

本人長期出售超大量微博資料、旅遊網站評論資料,並提供各種指定資料爬取服務,Message to [email protected] 前言 最近在做機器學習下的人臉識別的學習,機器學習這個東西有點暴力,很大程度上靠訓練的資料量來決定效果。為了找資

CelebA資料簡單介紹,及做人臉識別資料的處理

CeleA是香港中文大學的開放資料,包含10177個名人身份的202599張圖片,並且都做好了特徵標記,這對人臉相關的訓練是非常好用的資料集。網盤連結 資料包含了三個資料夾,一個描述文件如下: img資料夾下有兩個壓縮包 img_align_celeba.zip & img_al

人臉識別常用資料介紹

人臉識別常用資料集大全(12/20更新) 人臉識別常用資料集大全(12/20更新) 原文首發地址:人臉識別常用資料集

百萬github使用者資料,查詢誰才是python大牛?

在上週寫完用scrapy爬去知乎使用者資訊的爬蟲之後,github上star個數一下就在公司小組內部排的上名次了,我還信誓旦旦的跟上級吹牛皮說如果再寫一個,都不好意思和你再提star了,怕你們傷心。上級不屑的說,那就寫一個爬蟲爬一爬github,找一找python大牛,公司也

【MNIST/Python】手寫體數字訓練/測試資料(圖片格式)下載及分割預處理

MNIST手寫體數字資料集 MNIST是一個手寫數字資料庫,它有60000個訓練樣本集和10000個測試樣本集 由Yann LeCun等人建立,是NIST資料庫的一個子集 官方網址連結:Link 官網上的資料庫檔案形式如下: train-images-idx3-ubyte.

Python 爬蟲 單個基因 表格資料的生物學功能 (urllib+正則表示式):

Python 爬蟲 爬取單個基因的生物學功能(urllib+正則表示式): import re import urllib from urllib import request url = 'https://www.ncbi.nlm.nih.gov/gene/?term=FUT1'

Python爬蟲基礎:驗證碼的識別詳解

今天要給大家介紹的是驗證碼的爬取和識別,不過只涉及到最簡單的圖形驗證碼,也是現在比較常見的一種型別。 執行平臺:Windows Python版本:Python3.6 IDE: Sublime Text 其他:Chrome瀏覽器 簡述流程: 步驟1:簡單介紹驗證碼 步驟2:

python用協程池非同步音樂的json資料

# -*- coding: utf-8 -*- # @Author : Acm import gevent.monkey gevent.monkey.patch_all() from gevent.pool import Pool from Queue import Queue imp

python京東文胸資料(三)

上篇我們只爬了一個牌子的文胸,這次我們來多爬幾個牌子的 ##1.爬取不同牌子的url 其實可以直接爬那個href,但我發現有的帶了https有的沒帶就索性直接取id拼接了 import requests import json import threading imp

python京東文胸資料(二)

##1.獲取js請求 上一篇我們只抓取了一頁的評論,今天我們多抓點 ##2.比較異同 import requests import json import threading import time import re class cpu: def __init__(s

python京東文胸資料(一)

##點選——>要爬取網址 作為一個爬蟲小白解決問題是十分蛋疼的(Φ皿Φ),就這幾行程式碼,我折磨了一下午,然後我發現,學習程式碼最大的難題是學習資源獲取的途徑並不是程式碼本身,只要學,任何人都能學會 **1.**先到達頁面開啟開發者模式(F12),點選商品評論,我們隨便的複

python爬蟲今日頭條APP資料(無需破解as ,cp,_cp_signature引數)

#!coding=utf-8 import requests import re import json import math import random import time from requests.packages.urllib3.exceptions import Insecure

Python爬蟲拉勾網資料分析崗位資料

1 JSON介紹 JSON(JavaScript Object Notation)已經成為通過HTTP請求在Web瀏覽器和其他應用程式之間傳送資料的標準格式之一。比CSV格式更加靈活。Json資料格式,非常接近於有效的Pyhton程式碼,其特點是:JSON物件所

python鏈家新房資料

轉載:https://blog.csdn.net/clyjjczwdd/article/details/79466032 from bs4 import BeautifulSoup import requests import time import pandas as p

Python資料爬蟲學習筆記(13)微信文章資料

一、需求:在微信搜尋網站中,通過設定搜尋關鍵詞以及搜尋頁面數,爬取出所有符合條件的微信文章: 二、搜尋頁URL分析階段: 1、在搜尋框中輸入任意關鍵詞,在出現的搜尋結果頁面點選下一頁,將每一頁的URL複製下來進行觀察: 2、注意到頁碼由page=X決定,搜尋關鍵

python虎嗅網資料

#!/usr/bin/env python # -*- coding:utf-8 -*- import requests import pymongo from bs4 import BeautifulSoup client = pymongo.MongoClient(host='l

python煎蛋網妹子圖,已解密圖片~~~~~

本來想爬一波無聊圖,唉,竟然加密了。。。。 還好是base64 不說了,程式碼獻上 2018.12.14 有效。。。。。   import requests from bs4 import BeautifulSoup import base64,time base64_l

Python 爬蟲 單個基因 表格資料的生物學功能 (urllib+正則表示式):

Python 爬蟲 爬取單個基因的生物學功能(urllib+正則表示式): import re import urllib from urllib import request url = ‘https://www.ncbi.nlm.nih.gov/gene

Python大眾點評成都資料,只為告訴你哪家火鍋最好吃

冬天到了,天氣越來越冷,小編起床越來越困難了,每一天都想吃辣辣的火鍋。成都到處都是火鍋店,有名的店,稍微去晚一點,排隊都要排好久,沒聽說的店,又怕味道不好。那麼如何選擇火鍋店呢?最簡單的肯定是在美團。大眾點評上找一找啊。所以,本文就從大眾點評上爬取了成都的火鍋資料,來進行了分析。 Python學

python新浪股票資料—繪圖【原創分享】

目標:不做蠟燭圖,只用折線圖繪圖,繪出四條線之間的關係。 注:未使用介面,僅爬蟲學習,不做任何違法操作。   1 """ 2 新浪財經,爬取歷史股票資料 3 """ 4 5 # -*- coding:utf-8 -*- 6 7 import num