最近有个需求是做人脸表情识别,要求比较简单:识别行人的微笑表情。

自己动手用yolo训练个识别器是容易做的。麻烦的是在哪里寻找训练数据。

以下记录一下用Scrapy爬百度数据的过程

环境:ubuntu 2004  conda  python10.0  scrapy 2.7  别忘了Pillow,不安装这个默认不报错。

环境准备完后,

scrapy startproject  scrapy_smile   #项目名字随意cd  scrapy_smile scrapy genspider  baidu  image.baidu.com  #创建爬虫
import json
import re
from urllib import parse
import scrapy
from fake_useragent import UserAgent   #这个会出问题,下载json文件到本地from ..items import SmilespiderItemclass BaiduSpider(scrapy.Spider):name = 'baidu'allowed_domains = ['image.baidu.com']word_origin = input("请输入搜索关键字:")max_down = input("要下载的数量:")count_per_page = 30word = parse.quote(word_origin)max = int(parse.quote(max_down))# word = '美女'# max =100url = "https://image.baidu.com/search/acjson?tn=resultjson_com&logid=11578100820615399278&ipn=rj&ct=201326592&is=&fp=result&fr=&word={}&cg=girl&queryWord={}&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=&z=&ic=&hd=&latest=&copyright=&s=&se=&tab=&width=&height=&face=&istype=&qc=&nc=1&expermode=&nojc=&isAsync=&pn={}&rn={}&gsm=7800000000000078&1666847835228="def start_requests(self):ua=UserAgent(path=r"../fake_useragent.json")headers = {'User-Agent': str(ua.random)}for pn in range(0, self.max, self.count_per_page):# _url = f'{self.url}&pn={pn}'_url =self.url.format(self.word,self.word,pn,self.count_per_page)yield scrapy.Request(url=_url, callback=self.parse, headers=headers)def parse(self, response):# print(response.text)regex = '"thumbURL":"(.*?)"'pattern = re.compile(regex, re.S)links = pattern.findall(response.text)item = SmilespiderItem()item["word"] = self.wordfor i in links:item["link"] = iyield item

这个url 可能需要经常换。*度有反*虫机制。遇到这种情况换一下url就行了。

主要几个参数名字 word,word,pn,rn  关键字,关键字,开始图片索引,每页的图片个数

下载图片的关键文件pipline,没啥需要说的直接看代码。


import hashlib
import urllibfrom scrapy.utils.python import to_bytes
from itemadapter import ItemAdapter
from scrapy import Request
from scrapy.pipelines.images import ImagesPipelineclass SmilespiderPipeline(ImagesPipeline):# def process_item(self, item, spider):#     print("process_item",item)#     return itemword=''count = 0def get_media_requests(self, item, info):# meta={"word":item['word']}self.count+=1print(self.count)self.word = urllib.parse.unquote( item['word'])yield Request(item['link'])def file_path(self, request, response=None, info=None, *, item=None):image_guid = hashlib.sha1(to_bytes(request.url)).hexdigest()# word = response.meta['word']# print( response.meta)fname = f'{self.word}/{image_guid}.jpg'return fname

设置里面图片存储路径要写
LOG_LEVEL ='WARNING'  根据需要设置

ITEM_PIPELINES = {'smileSpider.pipelines.SmilespiderPipeline': 100,
}
LOG_LEVEL ='WARNING'
IMAGES_STORE = './images'

最后在项目文件夹根目录写个开始

from scrapy import cmdline
cmdline.execute('scrapy crawl baidu'.split(' '))

试运行一下

Scrapy 爬*度图片相关推荐

  1. Scrapy爬取美女图片续集 (原创)

    上一篇咱们讲解了Scrapy的工作机制和如何使用Scrapy爬取美女图片,而今天接着讲解Scrapy爬取美女图片,不过采取了不同的方式和代码实现,对Scrapy的功能进行更深入的运用. 在学习Scra ...

  2. Scrapy 爬取今日头条街拍图片

    scrapy 爬取今日头条图片保存至本地 之前用 requests 爬取过今日头条街拍的图片,当时只是爬取每篇文章的缩略图,今天尝试用 scrapy 来大规模爬取街拍详细图片. 分析页面 今日头条的内 ...

  3. Scrapy爬取ammmi图片

    Scrapy爬取ammmi图片 相关配置: python version:3.7 IDE:Pycharm environment:windows10 Framework:Scrapy 相关链接: We ...

  4. Scrapy爬图片入门——静态网站翻页爬虫

    接上文爬图片下载: Scrapy爬图片入门--静态网站_ahc176的博客-CSDN博客 翻页: 通过观察发现url变化是非常有规律的. 修改image.py: 代码: import scrapyfr ...

  5. Scrapy爬取美女图片续集

    上一篇咱们讲解了Scrapy的工作机制和如何使用Scrapy爬取美女图片,而今天接着讲解Scrapy爬取美女图片,不过采取了不同的方式和代码实现,对Scrapy的功能进行更深入的运用. 在学习Scra ...

  6. scrapy爬取美女图片

    使用scrapy爬取整个网站的图片数据.并且使用 CrawlerProcess 启动. 1 # -*- coding: utf-8 -* 2 import scrapy 3 import reques ...

  7. 利用scrapy爬取京东移动端的图片素材和商品信息

    有一个练习项目需要一些带分类信息的商品测试图片,从现有的电商网站爬取是个不错的选择.刚好最近又在练习scrapy的使用,这一篇记录一下用scrapy爬取京东的图片素材并保存商品信息的思路. 文中代码共 ...

  8. 手把手教你用Scrapy 爬取斗鱼妹子头像 下载图片

    项目展示: 项目结构: 成果: 1.新建项目 确保安装了所用到的库 scrapy image Pillow pip install scrapy pip install image pip insta ...

  9. Scrapy爬取当当网图书销售前100

    scrapy爬取当当网图书畅销榜 一.采集任务 爬取当当网图书畅销榜信息,获取热销图书前500相关数据. 二.网页解析 1. 打开当当网,按照图书榜>图书畅销榜 进入当当网图书畅销榜[http: ...

最新文章

  1. HDOJ 2012 素数判定 解题报告
  2. vs.net设计器里加载派生窗口类时要执行父窗口的Form_Load方法
  3. Boost.python 编译和使用
  4. 1071 Speech Patterns (25 分)【难度: 简单 / 知识点: 哈希表 字符串】
  5. SpringBoot中实现批量文件上传
  6. ug导出step文件失败_解决UG导出CAD图纸失败的问题
  7. GDB技巧:使用checkpoint解决难以复现的Bug
  8. Spring boot (5):Spring data jpa 的使用
  9. 这是我看过最精彩的回答
  10. POJ 2054 Color a Tree
  11. linux 查找文件_LINUX常用命令全集
  12. 【Level 08】U06 Good Feeling L5 Now showing in theaters
  13. 智方8000系进销存管理系统 杀毒软件下载
  14. doom3中PDA信息
  15. 物流行业智能化转型的幕后推手!盘点机器视觉物流分拣四大优势
  16. 人工智能技术知识图谱
  17. 百万调音师—Audition EQ均衡器
  18. 个人空间html源码,HTML常用代码段 - lynn_xiao的个人空间 - OSCHINA - 中文开源技术交流社区...
  19. 形容等待时间长的句子_形容等待的时间很漫长的句子
  20. 每日算法刷题Day5-平方矩阵II和III、蛇形矩阵图解

热门文章

  1. AI批改英语作文行不行?免费,覆盖雅思考研四六级,打分评语纠错都得有 | 测评...
  2. Python入门实例之那些年踩过的狗屎(Updating)
  3. 文化:你所在的团队,有多少人敢讲真话?
  4. [转帖]高通推出八核笔电处理器骁龙8cx 能超英特尔吗?
  5. SQL 语句从表中选取前5行,后5行的记录,以及%用法
  6. excel表格如何设置下拉选项?
  7. 自己组装摄像头软件opencv无法打开的问题
  8. 线下大数据服务商惟客数据完成3000万元pre-A轮融资,IDG资本领投
  9. 过分了,别人用来做桌面应用开发,这家伙却用来撩妹(6)-不正经的隐形弹窗
  10. excel分类_最简单的Excel分类汇总教程!三分钟包学包会!