【Python】爬取百度图片进行人脸识别

import os,cv2,requests,json,re,time
import tensorflow as tf
from bs4 import BeautifulSoup

def check_path(path):
    try:
        a = []
        for i in path.split(‘/‘):
            if i != ‘‘:
                a.append(i)
        path = ‘/‘.join(a)
    except:
        pass
    return path

def decrypt_objURL(str):
    """

    :param str: 加密的图片地址
    :return:解密后的图片地址 type=str
    """
    table = {‘w‘: "a", ‘k‘: "b", ‘v‘: "c", ‘1‘: "d", ‘j‘: "e", ‘u‘: "f", ‘2‘: "g", ‘i‘: "h",
             ‘t‘: "i", ‘3‘: "j", ‘h‘: "k", ‘s‘: "l", ‘4‘: "m", ‘g‘: "n", ‘5‘: "o", ‘r‘: "p",
             ‘q‘: "q", ‘6‘: "r", ‘f‘: "s", ‘p‘: "t", ‘7‘: "u", ‘e‘: "v", ‘o‘: "w", ‘8‘: "1",
             ‘d‘: "2", ‘n‘: "3", ‘9‘: "4", ‘c‘: "5", ‘m‘: "6", ‘0‘: "7",
             ‘b‘: "8", ‘l‘: "9", ‘a‘: "0", ‘_z2C$q‘: ":", "_z&e3B": ".", ‘AzdH3F‘: "/"}

    url = re.sub(r‘(?P<value>_z2C\$q|_z\&e3B|AzdH3F+)‘, lambda matched: table.get(matched.group(‘value‘)),str)
    new_url = re.sub(r‘(?P<value>[0-9a-w])‘, lambda matched: table.get(matched.group(‘value‘)), url)

    return new_url

def Request_Img(word=‘佟丽娅‘,imgNum=300):
    objURL_list = []
    for i,page in enumerate(range(0,imgNum,30)):
        Url = ‘http://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&word={}&pn={}‘.format(word,str(page))
        response = requests.get(url=Url).json()[‘data‘]
        # print(response)
        try:
            for img in response:
                url = decrypt_objURL(img[‘objURL‘])
                # print(url)
                objURL_list.append(url)
        except Exception as e:
            print(‘出现异常!!!‘,e)

    return objURL_list

def Face_Detection(urllist,savepath=‘./TLY‘):
    if len(urllist) != 0:
        for url in urllist:
            print(url)
            try:
                re = requests.get(url=url).content
                with open(‘./.img‘,‘wb‘) as f:
                    f.write(re)
                face_cascade = cv2.CascadeClassifier(‘./haarcascade_frontalface_default.xml‘)
                img = cv2.imread(‘./.img‘)
                # cv2.imshow(‘etst‘,img)
                # cv2.waitKey(10)
                # cv2.destroyAllWindows()
                gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
                faces = face_cascade.detectMultiScale(gray,
                                                      scaleFactor=1.15,
                                                      minNeighbors=10,
                                                      minSize=(1,1))
                if len(faces) != 0:
                    print(faces)
                    for x,y,w,h in faces:
                        if not os.path.exists(savepath):
                            os.mkdir(savepath)
                        if not os.path.exists(check_path(savepath+‘/face‘)):
                            os.mkdir(check_path(savepath+‘/face‘))
                        name = ‘‘.join(str(time.time()).split(‘.‘))
                        cv2.imwrite(savepath+‘/face/‘+name+‘_face‘+‘.jpg‘,img[y-10:y+h+10,x-10:x+w+10])
                        cv2.imwrite(savepath+‘/‘+name+‘.jpg‘,cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2))

            except:
                pass

if __name__ == ‘__main__‘:
    Face_Detection(Request_Img())

原文地址:https://www.cnblogs.com/zxingwork/p/11421634.html

时间: 2024-08-27 04:55:22

【Python】爬取百度图片进行人脸识别的相关文章

python 爬取百度图片

# coding=utf-8 """根据搜索词下载百度图片""" import re import sys import urllib import requests def get_onepage_urls(onepageurl): """获取单个翻页的所有图片的urls+当前翻页的下一翻页的url""" if not onepageurl: print('已到最后一页, 结束') r

百度图片爬虫-python版-如何爬取百度图片?

上一篇我写了如何爬取百度网盘的爬虫,在这里还是重温一下,把链接附上: http://5912119.blog.51cto.com/5902119/1771391 这一篇我想写写如何爬取百度图片的爬虫,这个爬虫也是:搜搜gif(在线制作功能点我) 的爬虫代码,其实爬虫整体框架还是差不多的,但就是会涉及到图片的的一些处理,还是花费了我不少时间的,所以我请阅读的本爬虫的孩子还是认真一些,毕竟程序猿都不容易啊.好的,我也不想多说,爬虫的代码我会分享到去转盘网,想下载本爬虫代码的孩子请点我下载,如果没有下

python爬取百度翻译返回:{&#39;error&#39;: 997, &#39;from&#39;: &#39;zh&#39;, &#39;to&#39;: &#39;en&#39;, &#39;query 问题

解决办法: 修改url为手机版的地址:http://fanyi.baidu.com/basetrans User-Agent也用手机版的 测试代码: # -*- coding: utf-8 -*- """ ------------------------------------------------- File Name: requestsGet Description : 爬取在线翻译数据s Author : 神秘藏宝室 date: 2018-04-17 --------

python爬取百度搜索图片

在之前通过爬取贴吧图片有了一点经验,先根据之前经验再次爬取百度搜索界面图片 废话不说,先上代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/7/22 10:44 # @Author : wqj # @Contact : [email protected] # @Site : # @File : test.py # @Software: PyCharm Community Edition import requests

Python爬取百度贴吧内容

参考资料:https://cuiqingcai.com/993.html  即 静觅» Python爬虫实战二之爬取百度贴吧帖子 我最近在忙学校的一个小项目的时候涉及到NLP的内容.但是在考虑如何训练的时候却才懂什么叫巧妇难为无米之炊的滋味.中文语料库实在少的可怜,偶尔有一两个带标签的语料库,拿出一看,标注惨不忍睹,都让我怀疑是不是机器标注的.正应了那句话,人工智能,有多少智能就有多少人工. 有什么办法呢,硬着头皮,走一步是一步吧,总比停滞不前要好.项目涉及到帖子,那么我相信不管是谁,首先想到的

python 爬取百度url

1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Date : 2017-08-29 18:38:23 4 # @Author : EnderZhou ([email protected]) 5 # @Link : http://www.cnblogs.com/enderzhou/ 6 # @Version : $Id$ 7 8 import requests 9 import sys 10 from Queue import Queu

python爬虫之爬取百度图片

##author:wuhao##爬取指定页码的图片,如果需要爬取某一类的所有图片,整体框架不变,但需要另作分析#import urllib.requestimport urllib.parseimport reimport os#添加header header=\ { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87

python爬取百度搜索结果ur汇总

写了两篇之后,我觉得关于爬虫,重点还是分析过程 分析些什么呢: 1)首先明确自己要爬取的目标 比如这次我们需要爬取的是使用百度搜索之后所有出来的url结果 2)分析手动进行的获取目标的过程,以便以程序实现 比如百度,我们先进行输入关键词搜索,然后百度反馈给我们搜索结果页,我们再一个个进行点击查询 3)思考程序如何实现,并克服实现中的具体困难 那么我们就先按上面的步骤来,我们首先认识到所搜引擎,提供一个搜索框,让用户进行输入,然后点击执行 我们可以先模拟进行搜索,发现点击搜索之后的完整url中有一

python爬取网页图片

在Python中使用正则表达式,一个小小的爬虫,抓取百科词条网页的jpg图片.下面就是我的代码,作为参考: #coding=utf-8 # __author__ = 'Hinfa' import re import os from urllib import request as req url='https://baike.baidu.com/item/%E5%B9%BF%E5%B7%9E/72101?fr=aladdin' path='Test//百科广州图片2' os.mkdir(path