锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

基于Python和selenium 获取 公开的搜狐汽车 数据

时间:2022-08-11 09:30:02 passat氧传感器hs3一组常开10a继电器

首先,首先显示代码的效果:

Python selenium 搜狐汽车 公开数据 爬取

import pandas as pd from selenium import webdriver from selenium.common.exceptions import NoSuchElementException # 报错名 from lxml import etree import time 
# 读取汽车数据 car = pd.read_csv('https://gitcode.net/qq_41147659/2022/-/raw/master/2022-07_2022年中国汽车销量销售.csv') 
# 获取(需要获取)汽车名称 car['车型'].unique() 
array(五菱红光MINIEV', 日产轩逸, '比亚迪宋DM', 大众宝来, '哈弗H6', '特斯拉Model Y',        宝马5系, '丰田凯美瑞', 大众朗逸, 大众速腾, '丰田RAV4荣放', '比亚迪秦Pro', 五菱红光,        大众新桑塔纳, 宝马3系, '长安CS75PLUS', '奥迪A4L', '比亚迪元EV', 大众帕萨特,        丰田威兰达, 奔驰C级, '奥迪Q5', '奥迪A6L', 别克昂科威, 大众迈腾, '比亚迪汉 EV',        '特斯拉Model 3', 'MGMG5', 别克威朗, 吉利新帝豪, 本田雅阁, 奇瑞车瑞虎8, 'MGZS',        汽车理想ONE', '红旗HS5', '比亚迪汉 DM', 哪吒合众新能源U', 别克英朗, '宝马X3',        吉利博越, '广汽埃安Aion S', 长安逸动, 吉利宾越, '丰田卡罗拉', 大众高尔夫, '捷途X70',        大众途岳, 奇瑞汽车小蚂蚁, '本田XR-V', 'MG领航', '本田CR-V', 本田宾智,        奇瑞新能源QQ冰淇淋', 日产逍客, 奔驰E级, 本田思域, 奇瑞汽车瑞虎7, 雪佛兰科鲁泽, 长安奔奔,        '广汽埃安Aion Y', 本田皓影, 丰田汉兰达, '长安CS55 PLUS', 魏牌坦克300, '长安UNI-V',        大众凌渡, 长安欧尚欧尚X5', 奇瑞车瑞虎5x', '丰田赛那SIENNA', '奔驰GLC级', '红旗H5',        丰田亚洲龙, 丰田雷凌双引擎, '宝骏530', '五菱荣光V', 'MG名爵HS', 丰田雷凌, '比亚迪唐DM',        日产天籁, 丰田锋兰达, 本田型格, 比亚迪海豚, 哈弗大狗, 荣威科莱威CLEVER', '沃尔沃XC60',        广汽传祺影豹, 奇瑞车瑞虎3x', 零跑车零跑T03', '吉利星越L', '大众途昂', '比亚迪宋EV',        '宝马X1', '丰田YARiS L 致炫', 几何车几何A', 五菱佳辰, '奥迪Q3', '荣威RX5', 福特领界,        '丰田凌放HARRIER', '宝骏510', '捷达VS5', 哈弗神兽, 'AITO问界M5', '别克GL8',        '捷达VA3', 奇瑞汽车艾瑞泽5 PLUS', '思皓思皓E10X', '宝马X5', 长安欧尚欧尚X7',        '马自达MAZDA3Axela昂克赛拉 三厢', '大众T-ROC探歌', 大众威然, 比亚迪驱逐舰05, 吉利星瑞,        '宝马iX3', '奔腾B70', 东风俊风, 零跑车零跑C11', '极氪ZEEKR 001', '长安CS35',        丰田威」, 吉利宾瑞, '小鹏汽车P7', '蔚来汽车ES6', 雪佛兰赛欧三厢, '广汽传祺M8',        '奇瑞汽车艾瑞泽5', '广汽传祺GA8', 别克微蓝6, '广汽传祺GS3', '比亚迪e2', 奔驰A级三厢,        现代伊兰特, 雪佛兰科沃兹, '小鹏汽车P5', '荣威Ei5', '荣威i6', '沃尔沃S90', '大众CC',        哈弗初恋, 福特蒙迪欧, '大众ID.4 CROZZ', 长安长安欧尚Z6', 本田飞度, 丰田皇冠陆放,        大众探岳, 丰田亚洲龙双引擎, '丰田B70', '东风风光EX1', 领克03, '吉利远景X6',        '红旗E-QM5', 起亚焕驰, '哈弗M6', '凯迪拉克XT4', 'MG名爵3', 大众揽境, '东风风行T5',        东风风光S560', '长安UNI-K', '奔驰GLB级', '宝骏KiWi EV', 吉利豪越, '广汽传祺GS4',        东风日产启辰D60', 别克君威, '比亚迪秦 EV', '广汽传祺GS8 混动', '丰田奕泽IZOA',        吉利星越L混动, 东风日产启辰大V', 本田奥德赛, 雪铁龙凡尔赛C5 X', '奔腾T77', '五菱荣光S',        '凯迪拉克CT5', '奔驰GLA级', 大众探影, '金杯海狮X30L', '长安睿骋CC', '思皓思皓QX',        '奥迪Q2L', 广汽传祺传祺GS4 PHEV', 东风神运通, '小鹏汽车G3', 领克09,        '大众ID.4 X', '蔚来汽车ET7', 领克06, 'MG名爵6', 雪佛兰创酷, 丰田亚洲狮,        '起亚福瑞迪', '威马汽车E.5', 东风风行菱智, 长安欧尚悦翔三厢, '现代ix35', 几何车几何C',        五菱之光, '捷达VS7', '睿蓝汽车80V', '广汽埃安Aion V', 雪佛兰探界者, '广汽传祺M6',        雪佛兰迈锐宝, '蔚来汽车EC6', '大众途昂X', '凯迪拉克XT5', 五菱星辰, '奔腾NAT',        '英菲尼迪TIIDA骐达', 哈弗赤兔, '领克领克01 PHEV', 思皓思皓 '别克君越', 本田冠道,        '大众ID.6 CROZZ', '凌宝汽车BOX', '吉利帝豪EV', '马自达CX-5', 宝马1系三厢, '捷途X90',        '比亚迪唐EV', '吉利帝豪GS', '上汽大通MAXUSG50', '长安CS85 COUPE', 林肯冒险家,        长安欧尚长安之星, 路虎揽胜极光, 福特探险者, 路虎发现神行, 本田皓影混动, 本田英仕派, '哈弗H9',        '马自达CX-30', 东风神奕炫MAX', 全新的北京汽车D50', '大众迈腾GTE', '东风风神E60',        福特福瑞斯, 东风小康小康K07II', '长安CS15', '标致4008', '大众ID.3', 本田艾力绅混动,        '沃尔沃S60', '本田UR-V', 奔驰V级, '广汽传祺GS5速博', '吉利星越S', 现代悦动,        东风神奕炫GS', '上汽大通MAXUSG10', '宝马X2', '长安逸动EV60', '日产楼兰', '大众探岳X',
       '标致2008', '三菱欧蓝德', '丰田C-HR', '东风风光风光580', '红旗H9', '魏牌摩卡', '丰田威驰',
       '本田凌派', '福特锐际', '东风风光风光500', '凯迪拉克XT6', '创维汽车创维汽车EV6', '魏牌拿铁DHT',
       '奔腾T55', '奥迪A3 Limousine', '斯柯达柯米克', 'MGEZS', '日产e-POWER', '路虎XEL',
       '五菱凯捷', '长安UNI-T', '思皓思皓X7', '斯威G05', 'MGONE', '本田LIFE', '奔驰威霆',
       '福特福克斯三厢', '林肯林肯Z', 'MGRX8', '大众探岳GTE', '本田享域', '江淮瑞风L6 MAX',
       '东风风行景逸S50', '起亚奕跑', '长安欧尚欧诺S', '岚图汽车FREE 纯电', '大众ID.6 X',
       '领克领克05', '铃木启悦', '福特锐界', '北京汽车北京X7', '斯威X3', '威马汽车W6', '大众途安',
       '大众明锐', '江铃集团新能源易至EV3', '北京越野北京BJ40', '蔚来汽车ES8', '海马S7', '起亚KX3傲跑',
       '标致408', '凯翼炫界', '领克领克02', '五菱荣光EV', '大众途观L', '吉利博瑞', '红旗E-HS9',
       '宝骏630', '别克昂科拉', '奥迪A3 Sportback', '沃尔沃XC60混合动力', '爱驰U5',
       'ARCFOX极狐ARCFOX极狐αT', '红旗HS7', '荣威RX8', '大运悦虎', '本田英仕派 混合动力',
       '现代库斯途', '金杯小海狮X30', '起亚智跑', '雪佛兰沃兰多', '东风富康富康ES600', '路虎XFL',
       '奥迪Q3 Sportback', '本田CR-V 混合动力', '荣威RX3', '长安逸动DT', '睿蓝汽车60S',
       '比亚迪宋MAX DM', '斯柯达昕锐', '林肯航海家', '雪铁龙C5', '东风风光风光330', '福汽启腾启腾EX80',
       '奔驰EQC', '现代途胜L', '马自达阿特兹', '奥迪A7L', '福汽启腾启腾M70', '雪佛兰畅巡', '日产途达',
       '别克GL6', '奔驰EQB', '标致508', '日产劲客', '凯翼轩度', '福特Mustang Mach-E',
       '哈弗F7', '林肯飞行家', '思皓思皓E50A', '别克昂科旗', '凌宝汽车COCO', '标致5008',
       '丰田YARiS L 致享', '广汽埃安Aion LX', '飞凡汽车飞凡ER6', '奔驰EQA', '东风日产启辰奇骏',
       'ARCFOX极狐ARCFOX-1', '丰田威驰FS', '红旗H7', '讴歌RDX', '雷丁芒果', '凯翼炫界Pro',
       '领克领克06 PHEV', '东风日产启辰星', '斯柯达速派', '上汽大通MAXUSD60', '长安欧尚长安欧尚CX70',
       '福特撼路者', '起亚K3', '江淮瑞风M3', '江淮瑞风M4', '奇瑞汽车优优2代', '五菱NanoEV',
       '广汽传祺GA6', '奔腾B70S', '马自达CX-4', '斯柯达柯珞克', '奥迪A6L e-tron', '比亚迪e6',
       '铃木北斗星', '江淮瑞风M5', '长安欧尚长安欧尚A600', '东风小康小康EC36', '本田M-NV',
       '哈弗玛奇朵DHT', '起亚K5凯酷', '奔腾T33', '吉利嘉际', '东风AX7', '中国重汽VGVU70',
       '北京越野B80VJ', '吉利远景X3', '云雀汽车云雀', '福特领裕', 'MG领航 PHEV', '斯柯达柯迪亚克',
       '本田e:NP1 极湃1', '沃尔沃XC40', '马自达CX-8', '奔腾T99', '江铃集团新能源羿',
       '金杯华晨金杯750', '大运远志M1', '荣威RX5 eMAX', '北汽制造勇士', '吉利帝豪L', '斯威G01',
       '威马汽车威马EX5', '雪铁龙C6', '江淮嘉悦X4', '海马7X', '东风风光风光580混动',
       'DSDS Numero 9', '三菱新劲炫', '福特途睿欧', '斯威X7', '东风风光风光ix5',
       '北汽制造BJ 212', '领克领克01', '小虎小虎FEV', '铃木长安欧尚X70A', '奥迪Q2L e-tron',
       '合创汽车Z03', '沃尔沃S90混合动力', '现代悦纳', '奥迪e-tron', '长安欧尚欧尚A600EV',
       '东风风光风光ix7', '东风日产启辰T90', '凯迪拉克CT6', '长安CS75', '丰田卡罗拉双擎E+', '起亚嘉华',
       '雪铁龙全新爱丽舍', '五菱征程', '奥迪Q5 e-tron', '江铃驭胜', '荣威iMAX8',
       '三菱阿图柯AIRTREK', '理念广汽本田VE-1', '本田绎乐', '五十铃mu-X牧游侠', '路虎发现运动版',
       '吉利ICON', '讴歌CDX', '福特EVOS', '丰田广汽丰田iA5', '福田拓陆者', '日产奇骏', '海马8S',
       '英菲尼迪QX60 Hybrid', '福田蒙派克E', '三菱奕歌', '东风风光风光380', '吉利嘉际 ePro',
       '岚图汽车梦想家 0碳版', '荣威鲸', '昌河福瑞达', '英菲尼迪QX50', '大众辉昂', '奔腾X40',
       '开瑞K60EV', '比亚迪e3', '大众途观X', '飞凡汽车飞凡MARVEL-R', '大众途观L 混合动力',
       '上汽大通MAXUSD90', '雪铁龙C3-XR', '三菱A5翼舞', '长安CS95', '宝骏RS-7', '别克微蓝7',
       '现代胜达', '智己汽车L7', '现代索纳塔九', '东风风神A60', '标致508新能源', '现代名图',
       '英菲尼迪Q50L', '凯迪拉克CT4', '大众途铠', '起亚KX5', 'DSDS 7', '北汽新能源北汽新能源EX',
       '沃尔沃S60混合动力', '野马汽车斯派卡', '东南DX5', '奇瑞汽车大蚂蚁', '福田萨瓦纳', '国机智骏GC1',
       '江淮瑞风S2', '沃尔沃XC40新能源', '长安欧尚长安欧尚科赛', '领克领克01 HEV', '东南DX7',
       '国机智骏GX5', '丰田雷凌双擎E+', '东风小康EC35', '吉利星越PHEV', '广汽传祺GA4',
       '北京汽车北京X7 PHEV', '丰田C-HR EV', '北京越野北京BJ30', '雪佛兰开拓者',
       'SERES赛力斯SF5', '雪铁龙天逸C5 Aircross', '上汽大通MAXUSEG10', '北京汽车智行',
       '北京汽车北京X3', '现代菲斯塔', 'Jeep指南者', '北京越野北京BJ90', '宝骏RC-5W', '宝沃BX3',
       '云度π1', 'MG名爵6 混合动力', '北汽新能源北汽新能源EC', '东风风神E70', '魏牌VV7-PHEV',
       '海马爱尚EV', '奇瑞汽车E3', '江淮第二代瑞风S5', '斯柯达昕动', '广汽传祺GS7', '比亚迪e1',
       '大众宝来·纯电', '日产全新蓝鸟', '观致观致3五门版', '福田伽途V3', '宝骏E100', '东风富康富康ES500',
       '江淮iEV7S', '华晨新日i03', '奇瑞汽车艾瑞泽GX', '力帆丰顺', '新宝骏RS-3', '标致e-2008',
       '思皓思皓E20X', '宝沃BX5', '吉利帝豪PHEV', '云度π3', '魏牌VV7', '海马6P', '奇瑞汽车E5',
       '比亚迪唐', '江淮瑞风S7', '现代瑞纳三厢', '大众e-Golf', '现代菲斯塔 纯电动', '领克领克03 PHEV',
       '腾势腾势X EV', '观致观致5 SUV', '宝骏E200', '江淮iEVA50', '本田X-NV', '力帆迈威',
       '新宝骏RS-5', '力帆轩朗', '思皓思皓E40X', '宝沃BX7', '小鹏汽车G9', '起亚KX7', '福特翼虎',
       '威马汽车EX6', '日产锐骐皮卡', '大众朗逸新能源', '红旗E-HS3', '宝骏310', '雪铁龙C4世嘉',
       '奔腾B30', '奇瑞汽车瑞虎3', '腾势腾势X PHEV', '观致观致7', '新宝骏E300', '江淮iEV',
       '凯迪拉克LYRIQ锐歌', '上汽大通MAXUSEUNIQ 7', '长安睿行ES30', '奇瑞汽车风云2两厢',
       '雪铁龙C3L', '哈弗H1', '奇瑞汽车新QQ', '荣威360', 'Jeep大指挥官', '奇瑞汽车OMODA 5',
       '现代领动 PHEV', '宝骏360', '大运悦虎ES3', '中华F50', '标致3008', '江淮和悦A30',
       '长安睿行S50', '路虎E-PACE', '吉利帝豪GSe', '福特金牛座', '比亚迪D1', '东风风光风光E3 EV',
       '雪佛兰创界', '哈弗H2', '比亚迪宋', '野马汽车博骏', '东南DX3', '荣威550', '开瑞K50',
       '比亚迪F3', '北汽新能源北汽新能源EU', '奇瑞汽车瑞虎5', '昌河北汽EC100', '力帆X70', '宝骏RC-5',
       '江淮嘉悦A5', '本田享域混合动力', '东风风光风光E1', '思皓思皓X4', '合创汽车合创007',
       '荣威i6 MAX EV', '现代ix25', '东风日产启辰T70', '大众Polo', '哈弗H5', '大众途岳 EV',
       'Jeep自由侠', '江铃集团新能源易至EX5', '雪铁龙云逸C4 Aircross', '奔腾E01', '力帆X80',
       '长安欧尚长安欧尚科尚', '长安欧尚长安欧尚科赛5', '雷诺e诺', '福特致胜', '北汽威旺H2', '奔驰EQE',
       '魏牌VV5', '零跑汽车零跑S01', '海马S5', '荣威爱唯欧三厢', '江淮第二代瑞风S3', '比亚迪宋MAX',
       '野马汽车EC60', '荣威Marvel X', '长安欧尚长安欧尚X70A', 'Jeep自由光', '江淮ic5',
       '别克凯越', '金杯金杯快运', '长安欧尚长安欧尚X7 EV', '昌河A6', '力帆620', '新宝骏RC-6',
       '江淮嘉悦X7', '东风日产启辰e30', '北汽威旺206', '思皓思皓X8', '魏牌VV6', '比亚迪秦',
       '江淮瑞风S4', '雪佛兰科帕奇', '吉利缤越 ePro', '哈弗H7', '长安CS55', '凯翼X3', '东南得利卡',
       '现代昂希诺 纯电动', '领克领克02 PHEV', '斯威X2', '荣威飞凡ER6', '北京汽车北京U7', '宝骏730',
       '江淮iEV6E', '凯迪拉克ATS-L', '金杯阁瑞斯', '奇瑞汽车艾瑞泽EX', '昌河M50S', '力帆80V',
       '北京汽车X25', '新宝骏RM-5', '思皓思皓A5'], dtype=object)
# 初始化列表
# 初始查询的车型
car_model = []
# 查询到的车名
find_name = []
# 本市报价
city_price = []
# 指导价
guide_price = []
# 排量
displacement = []
# 变速箱
gearbox = []

# 查询不到的车型
no_info = []

for i in car['车型'].unique()[:]:
    url="https://auto.sohu.com/search/q_" + i
    # 延迟时间
    delay=0.5
    driver=webdriver.Chrome()
    time.sleep(delay)
    driver.get(url)
    try:
        # 本市报价 (提前放上来,因为怕有时候网页格式不对)
        city_price.append(driver.find_element(by='xpath',value = '/html/body/div[3]/div[1]/div[1]/div[2]/ul/li[1]/span[2]').text)
        # 初始查询的车型 
        car_model.append(i)
        # 查询到的车名
        find_name.append(driver.find_element(by='xpath',value = '/html/body/div[3]/div[1]/div[1]/h2/a/em').text)
        # 指导价
        guide_price.append(driver.find_element(by='xpath',value = '/html/body/div[3]/div[1]/div[1]/div[2]/ul/li[2]/span[2]').text)
        # 排量
        displacement.append(driver.find_element(by='xpath',value = '/html/body/div[3]/div[1]/div[1]/div[2]/ul/li[3]/span[2]').text)
        # 变速箱
        gearbox.append(driver.find_element(by='xpath',value = '/html/body/div[3]/div[1]/div[1]/div[2]/ul/li[4]/span[2]').text)
        # 关闭浏览器
        driver.close()
    except NoSuchElementException:
        # 查询不到的车型+1
        no_info.append(i);
        # 关闭浏览器
        driver.close()

car_detail = pd.DataFrame({ 
       
    "初始查询的车型":car_model,
    "查询到的车名":find_name,
    "本市报价":city_price,
    "指导价":guide_price,
    "排量":displacement,
    "变速箱":gearbox
    })
# 看一下获取到的数据
car_detail
初始查询的车型 查询到的车名 本市报价 指导价 排量 变速箱
0 五菱宏光MINIEV 上汽通用五菱宏光S报价 4.6-5.99万 1.2L 1.5L 手动
1 日产轩逸 东风日产轩逸报价 9.98-14.49万 1.6L 手动 无级变速
2 比亚迪宋DM 比亚迪宋DM报价 17.69-24.59万 1.5T 双离合
3 大众宝来 一汽-大众宝来·纯电报价 11.18-15.08万 14.08-15.08万 电动车单速
4 哈弗H6 哈弗H6报价 9.19-15.10万 9.89-15.7万 2T 2.0T 1.5T 双离合 手动
... ... ... ... ... ... ...
612 昌河M50S 昌河M50S报价 暂无 4.48-5.38万 1.5L 手动
613 力帆80V 睿蓝汽车80V报价 14.98-15.98万 电动车单速
614 北京汽车X25 北京汽车X25报价 暂无 5.58-7.58万 1.5L 手动 自动
615 新宝骏RM-5 宝骏RM-5报价 7.88-12.08万 1.5L 1.5T 手动 无级变速
616 思皓思皓A5 思皓思皓A5报价 7.88-14.58万 7.88-14.58万 1.5T 手动 无级变速

617 rows × 6 columns

# 保存为Excel 格式
car_detail.to_excel('2022上半年年中国汽车详情.xls',header=True)
C:\Users\cecile.guo\AppData\Local\Temp/ipykernel_4596/2134838203.py:2: FutureWarning: As the xlwt package is no longer maintained, the xlwt engine will be removed in a future version of pandas. This is the only engine in pandas that supports writing in the xls format. Install openpyxl and write to an xlsx file instead. You can set the option io.excel.xls.writer to 'xlwt' to silence this warning. While this option is deprecated and will also raise a warning, it can be globally set and the warning suppressed.
  car_detail.to_excel('2022上半年年中国汽车详情.xls',header=True)
# 未获取到的车型
print(no_info)
pd.DataFrame({ 
       "未获取的车型":no_info}).to_excel('2022上半年年中国未爬到的车型.xls',sheet_name='未获取的车型',header=True)
['丰田威兰达', '本田思域', '丰田亚洲龙', '五菱荣光V', '丰田锋兰达', '本田型格', '五菱佳辰', '福特领界', '丰田凌放HARRIER', '马自达MAZDA3Axela昂克赛拉 三厢', '大众威然', '吉利星瑞', '宝马iX3', '别克微蓝6', '大众ID.4 CROZZ', '丰田亚洲龙双擎', '吉利远景X6', '大众揽境', '大众ID.4 X', '丰田亚洲狮', '威马汽车E.5', '凯迪拉克XT5', '大众ID.6 CROZZ', '林肯冒险家', '本田英仕派', '大众ID.3', '本田LIFE', '林肯林肯Z', 'MGRX8', '大众探岳GTE', '大众ID.6 X', '本田英仕派 混合动力', '现代库斯途', '林肯航海家', '雪佛兰畅巡', '福特Mustang Mach-E', '林肯飞行家', '别克昂科旗', '丰田YARiS L 致享', '奔驰EQA', 'ARCFOX极狐ARCFOX-1', '奥迪A6L e-tron', '哈弗玛奇朵DHT', '中国重汽VGVU70', '北京越野B80VJ', '福特领裕', '本田e:NP1 极湃1', '江铃集团新能源羿', 'DSDS Numero 9', '小虎小虎FEV', '奥迪Q2L e-tron', '三菱阿图柯AIRTREK', '本田绎乐', '别克微蓝7', '标致508新能源', '大众途铠', '沃尔沃XC40新能源', '丰田C-HR EV', '小鹏汽车G9', '腾势腾势X PHEV', '奇瑞汽车OMODA 5', '中华F50', '力帆X70', 'Jeep自由侠', '雪铁龙云逸C4 Aircross', '奔驰EQE', '江淮第二代瑞风S3', '荣威飞凡ER6', '奇瑞汽车艾瑞泽EX']


C:\Users\cecile.guo\AppData\Local\Temp/ipykernel_4596/3698444501.py:3: FutureWarning: As the xlwt package is no longer maintained, the xlwt engine will be removed in a future version of pandas. This is the only engine in pandas that supports writing in the xls format. Install openpyxl and write to an xlsx file instead. You can set the option io.excel.xls.writer to 'xlwt' to silence this warning. While this option is deprecated and will also raise a warning, it can be globally set and the warning suppressed.
  pd.DataFrame({"未获取的车型":no_info}).to_excel('2022上半年年中国未爬到的车型.xls',sheet_name='未获取的车型',header=True)

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章