爬取懂车帝所有品牌车型信息

该文章已生成可运行项目,


 概要

本文将对懂车帝的所有品牌车辆车型数据进行爬取,包括:车型,价格,车辆配置等信息。

一、使用模块

import re
from typing import Dict, Optional

import requests
from bs4 import BeautifulSoup
from pymongo import MongoClient

二、反爬技术

1.js压缩和混淆

对代码进行压缩(去除空格,换行符)和混淆(无意义变量)降低可读性,格式化使得无法定位到数据的真实位置。

2.动态网页

动态网站通过JavaScript异步加载数据,需要查找数据接口,并且请求参数通常被加密参数保护。

三、分析过程

1.在选车页面,点击车型的参数,发现所有车型的数据,空白处右键,打开检查面板,选择网络选项卡,重新刷新网页,选取车名作为关键字进行搜索,发现数据嵌套在html,为静态网页。

本文章已经生成可运行项目
提供的引用中未提及爬取车型图片的方法,但可结合常见的网页数据爬取思路给出大致方法。 一般来说,爬取车型图片可按以下步骤进行: 1. **分析网页结构**:打开车型页面,使用浏览器开发者工具(如 Chrome 的开发者工具)查看图片元素的 HTML 结构,确定图片的 URL 所在位置,例如是在 `img` 标签的 `src` 属性中。 2. **发送请求**:使用 Python 的 `requests` 库发送 HTTP 请求获取网页内容。示例代码如下: ```python import requests url = 'https://www.dongchedi.com/具体车型页面 URL' headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36' } response = requests.get(url, headers=headers) html = response.text ``` 3. **解析网页内容**:使用 `BeautifulSoup` 等库解析 HTML 内容,提取图片的 URL。示例代码如下: ```python from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'html.parser') img_tags = soup.find_all('img') img_urls = [] for img in img_tags: img_url = img.get('src') if img_url: img_urls.append(img_url) ``` 4. **下载图片**:遍历图片 URL 列表,使用 `requests` 库下载图片并保存到本地。示例代码如下: ```python import os # 创建保存图片的文件夹 if not os.path.exists('car_images'): os.makedirs('car_images') for i, img_url in enumerate(img_urls): try: img_response = requests.get(img_url) with open(f'car_images/car_image_{i}.jpg', 'wb') as f: f.write(img_response.content) except Exception as e: print(f"下载图片 {img_url} 时出错:{e}") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值