Python编写⼀个易⻋⽹⻋型销量数据(https://car.yiche.com/newcar/salesrank/?flag=2023)的爬⾍,针 对2023年 ,将汽⻋名称、图⽚地址、价格、销量等信息爬取下来,并将这些信息保存到mongodb数据库 中
时间: 2024-01-07 15:03:32 浏览: 146
vue填坑之webpack run build 静态资源找不到的解决方法
好的,我会为你提供一个 Python 爬虫程序,用于爬取易车网 2023 年汽车销量数据,并将数据保存到 MongoDB 数据库中。具体代码如下:
```
import requests
from bs4 import BeautifulSoup
import pymongo
# 连接 MongoDB 数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["car_sales"]
collection = db["2023"]
# 构造请求头信息
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"
}
# 请求地址
url = "https://car.yiche.com/newcar/salesrank/?flag=2023"
# 发送 GET 请求,获取页面内容
response = requests.get(url, headers=headers)
# 解析页面内容,提取所需信息
soup = BeautifulSoup(response.text, "html.parser")
for car in soup.select("div.search-result-list-item"):
# 获取汽车名称
name = car.select_one("div.col-5 > h4 > a").text.strip()
# 获取汽车图片地址
image = car.select_one("div.col-1 > a > img")["src"]
# 获取汽车价格
price = car.select_one("div.col-3 > div > span").text.strip()
# 获取汽车销量
sales = car.select_one("div.col-4 > div").text.strip()
# 将数据保存到 MongoDB 数据库
data = {
"name": name,
"image": image,
"price": price,
"sales": sales
}
collection.insert_one(data)
print("数据已保存到 MongoDB 数据库!")
```
这个程序使用了 requests 库发送 GET 请求,获取易车网 2023 年汽车销量数据的页面内容。然后使用 BeautifulSoup 库解析页面内容,通过 CSS 选择器提取所需的汽车名称、图片地址、价格和销量信息。最后,将提取到的数据保存到 MongoDB 数据库中。
需要注意的是,程序中使用了本地 MongoDB 数据库的默认连接地址 `mongodb://localhost:27017/`,可以根据自己的实际情况进行修改。另外,为了防止被反爬,程序中设置了请求头信息,可以根据自己的需求进行修改。
这个爬虫程序可以直接运行,爬取数据并保存到 MongoDB 数据库中。如果需要的话,可以根据自己的需求对代码进行修改和优化。
阅读全文