游乐游手机版
首页/业界动态/文章详情

六步搞定 Python 爬虫!手把手爬取二手车数据

时间:2026-04-14 19:45
先划重点:这篇你能学到啥? 看着别人一个个成功抓取数据,是不是有点心痒?别急,今天就来带你手把手走通Python爬虫的全流程。我们直接实战,目标就是拿下某汽车网站的二手车信息。零基础友好,跟着走完,你不仅能把“车型、信息、价格”这些关键数据一网打尽,还能让它们规规矩矩地躺进Excel或CSV表格里,

先划重点:这篇你能学到啥?

看着别人一个个成功抓取数据,是不是有点心痒?别急,今天就来带你手把手走通Python爬虫的全流程。我们直接实战,目标就是拿下某汽车网站的二手车信息。零基础友好,跟着走完,你不仅能把“车型、信息、价格”这些关键数据一网打尽,还能让它们规规矩矩地躺进Excel或CSV表格里,随用随取。

步骤 1:导入必备爬虫库

工欲善其事,必先利其器。动手之前,咱们得先把几个核心“工具”准备好。下面这三个库,堪称爬虫界的经典组合,一个都少不了:

import requests  # 用来请求网页
from lxml import etree  # 解析网页结构
import pandas as pd  # 存数据用

步骤 2:准备网址 + 反爬 “伪装”

爬取数据,首先得告诉程序目标在哪里。这里我们以某汽车网站的温州二手车页面为例。但直接敲门可不行,现在的网站都有“门卫”(反爬机制),咱们得稍微伪装一下,加个“User-Agent”请求头,假装自己是普通的浏览器访问,这样才能顺利进门。

url = 'https://www.che168.com/wenzhou'  # 温州二手车页面
header = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36'
}

步骤 3:获取网页源代码

地址和“伪装”都搞定了,下一步就是动手抓取。用requests.get这个方法,配合我们准备好的网址和请求头,就能把网页最原始的HTML代码“拿”下来。打印出来看看,你会发现,网页上呈现的那些图文数据,其实都藏在这些结构化的代码里。

resp = requests.get(url, headers=header)
print(resp.text)  # 输出网页源代码

步骤 4:解析网页结构

拿到源代码只是第一步,关键是怎么从中精准地“抠”出我们需要的信息。这时候,lxml库和XPath语法就该上场了。你可以把XPath理解为地图坐标,它能帮我们在复杂的网页结构中,快速定位到具体数据所在的位置。

html = etree.HTML(resp.text)  # 把代码转成可解析的格式
# 定位到存放二手车信息的区域
divs = html.xpath('//*[@id="goodStartSolrQuotePriceCore0"]/ul/li')
# 准备3个空列表存数据
car_type1 = []   # 车型
car_message1 = [] # 车辆信息
car_price1 = []  # 价格

步骤 5:提取数据到列表

定位到数据所在的“集装箱”后,接下来就是开箱取货。通过一个循环,我们遍历每一个“集装箱”,把里面的“车型”、“信息”、“价格”这三样宝贝分别提取出来,放到对应的列表里。最后,用pandas这个强大的数据处理工具,将三个列表整理成一个清晰规整的表格。

for div in divs:
    # 提取车型
    car_type = div.xpath('./a/div[3]/h2/text()')
    if car_type:
        car_type1.append(car_type[0])
    # 提取车辆信息
    car_message = div.xpath('./a/div[3]/p/text()')
    if car_message:
        car_message1.append(car_message[0])
    # 提取价格(把多个文本拼接成字符串)
    car_price = ''.join(div.xpath('./a/div[3]/div/span//text()'))
    if car_price:
        car_price1.append(car_price)
# 转成DataFrame表格
dic = {'车型': car_type1, '信息': car_message1, '车价': car_price1}
data = pd.DataFrame(dic)

步骤 6:数据存成 Excel/CSV

所有数据都已整理到位,最后一步就简单得令人愉悦了。Pandas提供了极其便捷的方法,只需一行代码,就能将整个表格存为你想要的格式。无论是用Excel直接分析,还是导入其他系统,都畅通无阻。

data.to_excel('温州二手车信息.xlsx')  # 存为Excel
data.to_csv('温州二手车信息.csv')    # 存为CSV

注意事项

需要特别提醒两点:第一,代码里的XPath路径是针对示例网页结构写的,如果你要爬取其他网站或不同版块,需要根据实际情况重新定位,这一点是关键。第二,网络爬虫要遵守基本规范,动手前最好看一下目标网站的robots.txt协议,并且务必避免短时间内的频繁请求,做个“友好”的爬虫者。

以上就是一个完整的Python爬虫数据抓取流程。可以说,这个框架本身就是一个通用模板。掌握之后,你完全可以举一反三,调整网址和解析规则,去抓取你感兴趣的任意公开网页数据。

来源:https://www.51cto.com/article/834693.html
上一篇苹果官宣 4 月 30 日公布 2026 财年第 2 财季财报 下一篇Pandas 入门三:数据清洗必学!缺失值/重复值处理,一步到位不踩坑
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
九号N1机甲风电动车发布 模拟声浪轻量化车架3499元起
业界动态 · 2026-05-29

九号N1机甲风电动车发布 模拟声浪轻量化车架3499元起

九号发布N1机甲风电动车系列,三款起售价3499元。N170极速47km h,轻量化车架;N185极速55km h,可选模拟声浪;旗舰N190极速60km h,标配模拟声浪及双通道ABS,7月上市。

九号2026新品发布会最强阵容连发4款新车重新定义好车标准
业界动态 · 2026-05-29

九号2026新品发布会最强阵容连发4款新车重新定义好车标准

九号公司发布2026年新品,推出N1、M1、M3及Fz5四款新车,覆盖电摩与电自领域。N1主打短轴距声光电酷玩体验,M1配备双通道ABS与100公里真续航,M3下放AXC车架技术,Fz5首搭载双向转把功能。同时推出3年原厂换新质保等用户权益。

世界超级摩托车锦标赛阿拉贡站张雪机车超级杆位赛获亚军
业界动态 · 2026-05-29

世界超级摩托车锦标赛阿拉贡站张雪机车超级杆位赛获亚军

5月29日,世界超级摩托车锦标赛(WSBK)阿拉贡站传来一则引人瞩目的消息——中国摩托车制造商“张雪机车”旗下的法国车手瓦伦丁·德比斯,在WorldSSP组别的超级杆位赛中成功夺得第二名。 先简要科普一下赛事背景:世界超级摩托车锦标赛(WSBK)是由国际摩托车联合会于1988年创立的顶级公路摩托车赛

英雄联盟海克斯大乱斗重大更新 移除羁绊新增技能符文
业界动态 · 2026-05-29

英雄联盟海克斯大乱斗重大更新 移除羁绊新增技能符文

英雄联盟海克斯大乱斗将在26 12版本移除羁绊系统,上线技能符文体系。该符文能重构技能释放逻辑,实现布里茨钩五人、拉克丝定全队等效果。部分原有羁绊效果转为独立专属符文,更新预计2026年6月中旬登陆国服。

领克10/10+正式上市限时价16.99-23.59万号称弯道之王
业界动态 · 2026-05-29

领克10/10+正式上市限时价16.99-23.59万号称弯道之王

```html 5月29日晚间,领克终于将其备受关注的中大型运动纯电轿车正式推向市场——领克10与领克10+同步上市,官方直接打出“弯道之王”的旗号。我们先不深究它是否真能“弯道超车”,单从价格来看,就已经颇具冲击力。 先奉上一张价格速览表,让大家心里有个底: 领克 10 701 长续航 Max:指