爬取车标网图片与数据,以后不要说这什么车你不认识了!

python爬虫:爬取所有车标图片保存本地 python爬虫:爬取所有车标图片保存本地 这次没想到会这么轻松,找了几个网站分析结构发现腾讯汽车的json接口,很轻松爬下所有的图标。上图: 总共209个牌子,以车牌子命名。 分析网页 一开始找了好几个网站,都没找到比较容易能获取数据的方式。还是腾讯这边比较给力,有现成的接口,json数据。 剩下的就简单了,只需要从json中获取数据就行。 all_car_url = 'https://api.ait.auto.qq.com/cardata/serial/all4oldpc' response = r 阅读详情
文化不分边界

人,为什么要读书?举个例子:
当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”;
当你失恋时你低吟浅唱道:“人生若只如初见,何事秋风悲画扇。”而不是千万遍地悲喊:“蓝瘦,香菇!”
今天回家早,陪俩小爷在楼下遛弯,忽然听见一阵马达轰鸣声,嗖~~闪一辆跑车,大大问;“爸爸,这是什么车啊”我:“红色的车...”,小小说:“爸爸肯定不认识,我也知道是红色的车。”气氛有些冷场...
别人看车关注牌子,我看车关注宽敞不,睡着舒服不?可不管怎样不能在孩子面前丢份啊,我决定学习学习车标!

车标网

在网上找了半天车标的数据,最后看到了这个网站:车标网:http://www.chebiaow.com/logo。

5847426-18e5880a31002598.png
车标网

网站将车系按照字母从A-Z进行了排序,然后点击每个车标进入详细信息,那 Audi做例子:
5847426-a3a140b160376cf3.png
奥迪

有用的数据时那些?品牌名称,车标,成立时间,主要车型,官网...
那么今天的爬虫练习呼之欲出,获取车标网下所有的汽车品牌及车标,并入库保存...

数据库操作指南

针对简单的数据,我习惯用python自带的sqlite3进行数据库的存储,简单方便....那么如何管理我们的数据库呢?推荐使用DBUtils!在往期的文章
决战高考,帮你秒变成语之王中,有对DBUtils的详细介绍,这里就不再赘述了...
但本次有一个知识点,我们需要将车标图片,存储在数据库中,那么如何在数据库中存储图片,使用类型BLOB。举一个简单的数据库图片读写例子

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @JianShu  : 清风Python
# @Date     : 2019/7/22 23:00
# @Software : PyCharm
# @version  :Python 3.7.3
# @File     : show.py

import sqlite3

db = sqlite3.connect('Car.db')
cur = db.cursor()
cur.execute("CREATE TABLE if not exists image_save (image BLOB);")

with open('Audi.jpg', 'rb') as f:
    cur.execute("insert into image_save values(?)", (sqlite3.Binary(f.read()),))
    db.commit()

cur.execute('select image from image_save limit 1')
b = cur.fetchone()[0]

with open('1.jpg', 'wb') as f:
    f.write(b)

我们创建一个image_save的测试表,然后将图片读取为二进制字节的方式,通过sqlite3.Binary将二进制文件存储至数据库。
那么同样的,我们将BLOB类型的图片读取出来后,进行写入,即可达到效果,来看看这个1.jpg是否正常:

5847426-c7a1a3f5e81aafeb.png
1.jpg

图片下载小技巧

看过了二进制的存储方式,大家肯定说明白了,网站获取到图片链接然后找着上面的例子下载到本地,然后再进行二进制的读取后存储数据库即可,对吗?不对...有什么问题呢?来看一个例子:


5847426-0902c8c36768ef94.png
Audi图片链接

这里Audi图片的链接地址,我们通过requests来下载看看....

import requests
r =requests.get('http://img.chebiaow.com/thumb/cb/allimg/1303/1-1303061Z600520,c_fill,h_138,w_160.jpg')
r.content
b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01...'

可以看到我们通过requests.get获取到的content就已经是二进制数据了,为何还要存储成图片,在转化呢?省去了我们保存图片的多余过程。

网页分析
适配url

针对A-Z的车标排序,网站的url匹配关系很简单:

from string import ascii_uppercase as au
# ascii_uppercase代表A-Z,当然你可以不引入模块自己生成也OK...
for uppercase in au:
    "http://www.chebiaow.com/logo/{}.html".format(au)
获取品牌链接
5847426-56f1aa5259c17023.png
品牌获取

可以看到在包含cb-list方法的ul下匹配所有li中的第一个a标签,然后拼接base_url即可。

品牌详情

进入品牌详情界面后,我们针对左右栏目的设置,分别获取所需标红的内容


5847426-92c5981013b2aaca.png
品牌详情
整体代码

通过上面的分析,我们开始爬虫,但这个网站真的是相应好慢,没办法添加上Threading的多线程执行吧,整体代码如下:

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @JianShu  : 清风Python
# @Date     : 2019/7/22 23:08
# @Software : PyCharm
# @version  :Python 3.7.3
# @File     : CarLogo.py

import os
from db_maker import DbMaker as DB
from string import ascii_uppercase as au
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin
from sqlite3 import Binary
import threading
import time


class CarLogo:
    DATABASE = 'car.db'

    def __init__(self):
        self.db = DB()
        self.path = os.path.dirname(os.path.realpath(__file__))
        self.images_path = os.path.join(self.path, 'images_path')
        self.host = "http://www.chebiaow.com"
        self.headers = {
            'Connection': 'keep-alive',
            'user-agent': ('Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 '
                           '(KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36')
        }

    def check_dir(self):
        if not os.path.exists(self.images_path):
            os.mkdir(self.images_path)

    def get_response(self, url, params=None):
        try:
            r = requests.get(url, headers=self.headers, params=params, timeout=15)
        except:
            pass
        soup = BeautifulSoup(r.text, "lxml")
        return soup

    def create_url(self):
        _url_format = "http://www.chebiaow.com/logo/{}.html"
        for uppercase in au:
            try:
                soup = self.get_response(_url_format.format(uppercase))
                _cars = soup.find("ul", {"class": "cb-list"}).findAll('li')
                for car in _cars:
                    # self.car_info()
                    t = threading.Thread(target=self.car_info, args=(urljoin(self.host, car.div.a['href']),))
                    time.sleep(0.5)
                    t.start()
            except:
                pass

    def car_info(self, url):
        soup = self.get_response(url)
        left_index = soup.find("div", {"class": "xq-left"}).findAll('p')
        name = left_index[0].text
        image_byte = requests.get(left_index[1].img['src']).content
        right_index = soup.find("ul", {"class": "xq-right"}).findAll('li')
        founded = right_index[3].span.text
        models = right_index[5].span.text
        website = right_index[7].span.text
        print("Insert Car Logo {}".format(name))
        _sql = "insert into car_logo(name,image,founded,models,website) values (?,?,?,?,?)"
        self.db.insert(_sql, (name, Binary(image_byte), founded, models, website))


if __name__ == '__main__':
    m = CarLogo()
    m.create_url()

最终存储的数据库如下:

5847426-4ca11cda0e661640.png
数据库展示

由于图片是BLOB类型的二进制文件,所以大家看到的是星星,感觉网站的车标是不不够,怎么才140多种(虽然我能认识的不到20种...)
这个中兴看了半天还以为是搞错了,没想到是同名的...


5847426-b0ee39453d2f9b5f.png
中兴汽车
The End

OK,今天的内容就到这里,如果觉得内容对你有所帮助,欢迎点击文章右下角的“在看”。
整理好数据库,哪天闲了做一个车标的测试题,当然大家可以按照之前我的使用爬虫+Flask获取世界国旗数据和孩子一起学习那边文章引申着自己写一个车标的练习题。
公众号后台回复车标,即可获得整理好的数据库,供大家联系使用。
期待你关注我的公众号清风Python,如果你觉得不错,希望能动动手指转发给你身边的朋友们。

应用-车标车型大全(数据库) 包含车型品牌、系列、车型大全等数据,还有品牌Logo图片 文件类型:sql、json、csv、xls 数据量:49389条 资源大小:2.6M 立即下载

相关推荐

和汽车品牌标识相关的数据集

汽车品牌标识数据集 数据说明: 该数据集包含8个标志品牌,包括:丰田,现代,雷克萨斯,斯柯达,大众,马自达,梅赛德斯,欧宝。每个品牌都有300~350张训练照片和50张测试照片。

python爬虫爬取汽车网站外型图片

我选择的起始网址:http://www.hao123.com/auto/brand 当你随便选择一个车牌的选框( 不要 同时选择多个选框)你就会发现每个车牌对应一个网址 每个网址的区别就是数字不同 比如选中奥迪时对应的网址:https://car.58che.com/brand/1.html也就是说按数字来就可以遍历所有的汽车了 我要爬取的是汽车网站的所有汽车的外观图片,所以下一步就是...

曌的博客 1637

车标识别检测数据集-4203张(6类:奔驰、本田、丰田、奥迪、雪佛兰、雪铁龙)+voc和yolo两种格式标签

【实际项目应用】 车标识别检测 【数据集说明】 车轮检测数据集,一共4203张图片,6类车标,分别为“奔驰”、”本田“、”丰田“、”奥迪“、”雪佛兰“、”大众“, ['Benz','Honda','Toyota','Audi','Chevrolet','VW'],多种背景,数据分布均匀,标签包含voc(xml)、yolo(txt)两种格式,多种目标检测算法可直接使用。纯手工标注,标注精准,算法拟合很好,数据质量可靠。 【备注】:若需json格式标签,或使用过程遇到问题,请私信留言。 【强调说明】 1、csdn上资源保证是完整最新,会不定期更新优化; 2、通过第三方代下载,而不是直接自己账号在csdn官方下载,博主不对下载的资源作任何保证,且不提供任何形式的技术支持和答疑!!!

车标&车辆品牌检测Python[完整源码&视频安装教程&车标数据集&完整文档]

[完整源码&视频安装教程&车标数据集&完整文档]车标&车辆品牌检测Python

cheng2333333的博客 3660

车标分类数据集(car logo datasets)

用于图像分类的车标分类数据集

C语言入门系列:指针入门(超详细)

指针与内存是息息相关的,在学习指针之前,先回忆下内存相关的知识。内存是程序运行期间存储数据的硬件设备,为了方便管理,计算机将内存划分为一个个小的单元,每个单元的大小是一个字节。如果把内存比作一栋酒店大楼,内存单元就像是一个个小的房间,数据就住在小房间里。我们知道,为了客人能准确找到属于自己的房间,酒店房间是有房号的。同样,内存单元也是有编号的,这个编号在计算机中称之为“内存地址。

epitomizelu的专栏 3695

爬取车标网图片与数据,以后不要说这什么车你不认识了!#华为云·寻找黑马程序员#

文化不分边界 人,为什么要读书?举个例子: 当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”; 当你失恋时你低吟浅唱道:“人生若只如初见,何事秋风悲画扇。”而不是千万遍地悲喊:“蓝瘦,香菇!” 今天回家早,陪俩小爷在楼下遛弯,忽然听见一阵马达轰鸣声,嗖~~闪一辆跑车,大大问;“爸爸,这是什么车啊”我:“红色的车…”,小小说:“爸爸肯定不认识,我也知道是红色的车...

SlaughterDevil的博客 709

SAP 财务BAPI_ACC_DOCUMENT_POST批导的税务tax

最近遇到了关于SAP财务凭证批导要bapi:BAPI_ACC_DOCUMENT_POST增加税的功能要求,查阅了一众文献发现都不尽如人意,所以想着自己写一个趟过的雷吧。 一般前台sap的凭证是有自动计算税码的勾选框的,但是bapi却并没有这个字段。 实际操作过程中1.可以定义一个税额的结构,参考bapiactx09 2.在会计分录上传如果需要增加税码的时候,譬如总账gl,需要对应tax_code 3.通过CALCULATE_TAX_FROM_GROSSAMOUNT 计算出税额和acct_k...

qq_35640448的博客 3187

Python快速爬取车标网图片,以后不要说这什么车你不认识了!

知识不分边界...... 人,为什么要读书?举个例子: 当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”; 当你失恋时你低吟浅唱道:“人生若只如初见,何事秋风悲画扇。”而不是千万遍地悲喊:“蓝瘦,香菇!” 今天回家早,陪俩小爷在楼下遛弯,忽然听见一阵马达轰鸣声,嗖~~闪一辆跑车,大大问;“爸爸,这是什么车啊?” 我:“红色的车…”小小说:“爸爸肯定不认识,我也知道是红色的车。”气氛有些冷场… 别人看车关注牌子,我看车关注宽敞不,睡着舒服不?可不管怎样不能在孩子

爬遍所有网站 522

分类模型AUC低于0.5?5个常见坑点排查指南(附代码示例)

本文针对分类模型AUC低于0.5的常见问题,提供了5个关键排查点及代码示例。从样本分布失衡、特征与标签脱节到量纲差异、模型初始化和数据泄露,详细解析了可能导致AUC异常的原因,并给出实用的诊断方法和解决方案,帮助开发者快速提升模型性能。

weixin_29190169的博客 239

n8n 快速入门1:构建一个简单的工作流

n8n 快速入门指南

engchina的专栏 1万+

python爬虫爬取车标网所有车标Logo

1.依赖 requests、BeautifulSoup、lxml 2.代码 爬取网址:http://www.chebiao.com.cn/chebiao/ import requests from bs4 import BeautifulSoup list = ['A', 'B', 'C', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', '...

秋楓的博客 2007

基于C#的机器人控制框架:如何将ROS与硬件集成

本文探讨了如何利用C#与ROS(Robot Operating System)集成开发机器人控制系统。通过ROSSharp库和rosbridge中间件,实现了C#与ROS的WebSocket通信,并展示了硬件控制模块的设计方法。文章详细介绍了电机控制的串口通信实现、ROS消息订阅机制,以及性能优化和容错处理策略,最终构建了一个智能小车控制框架的案例。这种C#与ROS的集成方案为机器人开发提供了跨平台支持,同时兼顾了系统的高效性和可靠性。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1140

python爬虫爬汽车图片_Python快速爬取车标网图片,以后不要说这什么车你不认识了!...

知识不分边界......人,为什么要读书?举个例子:当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”;当你失恋时你低吟浅唱道:“人生若只如初见,何事秋风悲画扇。”而不是千万遍地悲喊:“蓝瘦,香菇!”今天回家早,陪俩小爷在楼下遛弯,忽然听见一阵马达轰鸣声,嗖~~闪一辆跑车,大大问;“爸爸,这是什么车啊?” 我:“红色的车…”小小说:“爸爸肯定不认识,我也知道是红...

weixin_39819661的博客 128

华为OD机考双机位C卷 - 构成正方形的数量 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 成正方形的数量 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 5938

【工业相机】【深度4】线扫描相机 - 选型实践

前言: 在工业相机的深度应用的前三节里面,针对工业相机的选型、参数、应用计算等做了一些说明。期中,在深度3里面,在说明工业相机在速度场景下的应用的时候,专门开了一节介绍线扫描相机行频速度的计算公式和镜头的选型的大致说明,感觉说的还是不够透彻,切应用举例也不充分,这里特别开一个章节,基于线扫描相机的特点对比面阵相机的特点进行比较详细的说明,尤其对线扫描相机的选型实践,尤其是线扫描相机的分辨率选择计算、行频选择计算进行了充分的说明和计算说明,希望能够给用到线扫描工业相机的同学给予一定的参考: 阐述: 在编

山云的专栏 2万+

python从键盘上输入五个数字打一成语_Python快速爬取车标网图片,以后不要说这什么车你不认识了!...

知识不分边界......人,为什么要读书?举个例子:当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”;当你失恋时你低吟浅唱道:“人生若只如初见,何事秋风悲画扇。”而不是千万遍地悲喊:“蓝瘦,香菇!”今天回家早,陪俩小爷在楼下遛弯,忽然听见一阵马达轰鸣声,嗖~~闪一辆跑车,大大问;“爸爸,这是什么车啊?” 我:“红色的车…”小小说:“爸爸肯定不认识,我也知道是红...

weixin_32508109的博客 213

零基础基于U-Net网络实战眼底图像血管提取

文章目录1 前言2 血管提取任务概述3 U-Net架构简介4 眼底图像血管分割代码5 结果评估可视化(ROC曲线)6 改进U-Net网络完成眼底图像血管提取任务思路 1 前言 本文基于U-Net架构完成了视网膜血管的提取任务,基于Keras框架更简单的实现分割,网络、工具类、训练和预测的代码一目了然

NJU phd 在读。 5203

python,做一个汽车识别网,你还在担心认不出车标吗?

文化不分边界 人,为什么要读书?举个例子: 当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”; 当你失恋时你低吟浅唱道:“人生若只如初见,何事秋风悲画扇。”而不是千万遍地悲喊:“蓝瘦,香菇!” 别人看车关注牌子,我看车关注宽敞不,睡着舒服不?可不管怎样不能在人前丢份啊,所以我决定学习学习车标!首先我们爬取车标及其相关信息,然后通过Flask来做一个车标学习网站。 车标网数据爬虫 在网上找了半天车标的数据,最后看到了这个网站: 车标网 http://www.chebia

Ugyfyv的博客 500

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python爬虫+Flask,带你创建车标学习网站

文化不分边界 人,为什么要读书?举个例子: 当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”; 当你失恋时你低吟浅唱道:“人生若只如初见,何事秋风悲画扇。”而不是千万遍地悲喊:“蓝瘦,香菇!” 今天回家早,陪俩小爷在楼下遛弯,忽然听见一阵马达轰鸣声,嗖~~闪一辆跑车,大大问;“爸爸,这是什么车啊”我:“红色的车...”,小小说:“爸爸肯定不认识...

清风Python 821

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

车标知识学习网页开发,与Flask通过base64展示二进制图片 #华为云·寻找黑马程序员#

要开始忙碌了 今天开始负责另外一个项目的工作,估计之后的日子将会很忙碌了。最近熬夜搞的胃病又犯了,本来今天想停更一晚,可是胆子小怕好不容易关注的朋友们又离我而去,只能坚持不断更了… 直言不讳的有为青年 由于不太喜欢csdn的发文审核,有时候几个小时半天的通过不了,所以从去年开始转到简书写文章。csdn上会将简书写好的markdown文章拷贝过去,至于什么时候审核通过,就不怎么关注了。昨天遇到件有趣...

SlaughterDevil的博客 492

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

python sqlite3 带密码_Python爬虫+Flask,带你创建车标学习网站!超级吊有木有!

文化不分边界人,为什么要读书?举个例子: 当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”; 当你失恋时你低吟浅唱道:“人生若只如初见,何事秋风悲画扇。”而不是千万遍地悲喊:“蓝瘦,香菇!” 别人看车关注牌子,我看车关注宽敞不,睡着舒服不?可不管怎样不能在人前丢份啊,所以我决定学习学习车标!首先我们爬取车标及其相关信息,然后通过Flask来做一个 车标学习网站...

weixin_39690963的博客 270

python学习网站_Python爬虫+Flask,带你创建车标学习网站

文化不分边界人,为什么要读书?举个例子:当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”;当你失恋时你低吟浅唱道:“人生若只如初见,何事秋风悲画扇。”而不是千万遍地悲喊:“蓝瘦,香菇!”别人看车关注牌子,我看车关注宽敞不,睡着舒服不?可不管怎样不能在人前丢份啊,所以我决定学习学习车标!首先我们爬取车标及其相关信息,然后通过Flask来做一个车标学习网...

weixin_39533280的博客 156

python学习网站_完整实战项目:Python爬虫+Flask,带你创建车标学习网站

文化不分边界人,为什么要读书?举个例子:当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”;当你失恋时你低吟浅唱道:“人生若只如初见,何事秋风悲画扇。”而不是千万遍地悲喊:“蓝瘦,香菇!”别人看车关注牌子,我看车关注宽敞不,睡着舒服不?可不管怎样不能在人前丢份啊,所以我决定学习学习车标!首先我们爬取车标及其相关信息,然后通过Flask来做一个车标学习网...

weixin_39992788的博客 225
上一篇: Flask开发成语接龙游戏,以后闲了手机玩玩自己写的游戏吧!
下一篇: 使用jieba分析小说太古神王中,男主更爱谁?去文章中找答案吧!
清风Python
博客等级 码龄7年 406粉丝 267原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值