首页 > 编程语言 >python爬取全国二手车数据,看看有没有可以捡漏的!

python爬取全国二手车数据,看看有没有可以捡漏的!

时间:2023-03-18 16:13:53浏览次数:34  
标签:xpath get python detail 捡漏 爬取 url class select

 

絮叨一下

话说,最近从湖北开始汽车价格战,全国人民都跑到湖北买车去了,搞得人家都出政策限制外地人购买了。

不过12W的C6是真香呐,二十多万的C6一身毛病,12W的C6毛病在我!

这波价格战直接蔓延到全国,全国的二手车商已原地哭晕。

今天我们就用Python来获取一下全国二手车数据,看看二手车有没有降价的。

环境、模块

python 3.8
pycharm 2022.3专业版
requests >>> pip install requests
parsel >>> pip install parsel

 

实现步骤

  1. 发送请求
  2. 获取数据
  3. 解析数据
  4. 保存数据

代码展示

  1. 发送请求
for page in range(1, 101):
    url = f'https://www.***.com/china/a0_0msdgscncgpi1ltocsp{page}exx0/'
    response = requests.get(url=url, headers=headers, proxies=get_proxies())

 

  1. 获取数据
html_data = response.text

 

  1. 解析数据
    select = parsel.Selector(html_data)
    detail_url_list = select.xpath("//ul[@class='viewlist_ul']/li/a[@class='carinfo']/@href").getall()
    # Python学习交流群:872937351
    for detail_url in detail_url_list[:-1]:
        if detail_url[1] == '/':
            detail_url = 'https:' + detail_url
        else:
            detail_url = 'https://www.**.com' + detail_url
        detail_html = requests.get(detail_url, headers=headers, proxies=get_proxies()).text
        detail_select = parsel.Selector(detail_html)
        title = detail_select.xpath("string(//h3[@class='car-brand-name'])").get("").strip()
        licheng = detail_select.xpath("//ul[@class='brand-unit-item fn-clear']/li[1]/h4/text()").get("").strip()
        shangpai = detail_select.xpath("//ul[@class='brand-unit-item fn-clear']/li[2]/h4/text()").get("").strip()
        pailiang = detail_select.xpath("//ul[@class='brand-unit-item fn-clear']/li[3]/h4/text()").get("").strip()
        suozaidi = detail_select.xpath("//ul[@class='brand-unit-item fn-clear']/li[4]/h4/text()").get("").strip()
        guobiao = detail_select.xpath("//ul[@class='brand-unit-item fn-clear']/li[5]/h4/text()").get("").strip()
        price = detail_select.xpath("string(//span[@id='overlayPrice'])").get("").strip()
        print(title, licheng, shangpai, pailiang, suozaidi, guobiao, price, detail_url)

 

  1. 保存数据
with open('汽车之家.csv', mode='a', encoding='utf-8', newline='') as f:
    csv_writer = csv.writer(f)
    csv_writer.writerow([card_name, cards_unit, price, img_url])

 

尾语

好了兄弟们,今天的分享就到这里结束了,咱们下次再见!

大家赶紧去试试,看看二手车价格吧,说不定还能遇上心动的下个单!

标签:xpath,get,python,detail,捡漏,爬取,url,class,select
From: https://www.cnblogs.com/hahaa/p/17219657.html

相关文章

  • 100道python基础题——(5)
    Python简明教程---20,Python类中的属性与方法-码农充电站-博客园(cnblogs.com)问题:定义一个至少有两个方法的类:    getString:从控制台输入获取字符串......
  • python介绍
     二进制编码ASSIC每一个字符统一都需要8个bit来存储计算机容量1位=1bit8bit=1byte=1字节1024bytes=1kbytes=1KB1024个字符,小文档,几百k可以表示一张图片1024......
  • tensorrt官方案例 python运行
    1、案例数据下载1)-f配置案例的下载内容,会自动下载到案例文件夹中downloader.py-dD:/Programs/TensorRT-8.4.1.5/-f./yolov3_onnx/download.yml2、downloader.py中......
  • python elif的含义
    我一开始看成了else,结果是elif,两者出现的位置大概可能一样。解释如下:Python中elif表示再次判断的意思,是elseif的简写。elif语句不能独立使用,可以在需要检查更多条件时,与i......
  • python基础(8)
    1.集合内元素的三个特征。答:一是集合内元素都是不可变类型。二是集合内的元素是无序的。三是集合内的元素都是不重合的。2.集合的用途是什么?答:集合一般是整体运用,用来去重......
  • python安装robotframework的一些常见的错误
    python安装robotframework的一些常见的错误首先的电脑环境是x86的,然后下载的python版本起初是3.10.1的在cmd中出入pipinstallrobotframwork是没有问题的,但是在输入下......
  • python使用 pytesseract + tesseract-ocr 进行验证码识别
    使用pytesseract+tesseract-ocr进行验证码识别,需要安装的第三方库:pytesseract、tesseract-ocr,在使用pytesseract之前,必须安装tesseract-ocr,因为pytesseract依赖于t......
  • 使用python爬虫爬取链家潍坊市二手房项目
    使用python爬虫爬取链家潍坊市二手房项目需求分析需要将潍坊市各县市区页面所展示的二手房信息按要求爬取下来,同时保存到本地。流程设计明确目标网站URL(https://wf.l......
  • 记一个技术博客网站,前端后端服务器,机器学习大数据,java python php,angular vue
    ToForU为你|博客文章前端后端服务器机器学习大数据chatgpt程序开发技术资料TOFORU为你......
  • 刚开始学python就遇到麻烦了/(ㄒoㄒ)/~~
    难受,本来都好好的,学到注释这块儿就不行,加了中文注释后就运行不了,csdn上找了个方法在最开头加一行#-*-coding:utf-8-*-注释,记得加了之后明明是能运行来着,今天再试就成......