python获取汽车之家关注度排行榜

思路如下:
1、查看HTML结构,找到关注度数据存储位置 在第三个 tab_content_items
2、运行脚本,数据为空,关注度数据需要点击后才加载进来,需用selenium模拟点击
点击关注度后加载成功
3、找到要提取的车型信息存储在h4,提取保存即可。
在这里插入图片描述
4、python代码如下

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup

url = "https://www.autohome.com.cn/suvc/80_1-0.0_0.0-0-0-0-0-0-0-0-0/"

# 使用Selenium和浏览器
driver = webdriver.Chrome()

# 用Selenium加载页面
driver.get(url)

# 通过文本内容找到按钮元素并点击
button_text = "按关注度"
button_xpath = f'//*[@id="view-tab"]/li[2]'
button = driver.find_element(By.XPATH, button_xpath)
button.click()

# 在点击按钮后等待一段时间(根据需要调整)
time.sleep(1)

# 在切换后获取更新的页面源代码
page_source = driver.page_source

# 关闭浏览器
driver.quit()

# 解析更新页面的HTML内容
soup = BeautifulSoup(page_source, "html.parser")

# 找到所有类名为"tab-content-item"的div元素
tab_content_items = soup.find_all("div", class_="tab-content-item")

# 检查是否至少有三个tab-content-item元素
if len(tab_content_items) >= 3:
    # 获取第三个tab-content-item元素
    third_tab_content_item = tab_content_items[2]

    # 在第三个tab-content-item中找到所有h4元素
    h4_elements = third_tab_content_item.find_all("h4")

    # 提取并保存每个h4元素的文本
    car_names = [h4.text.strip() for h4 in h4_elements]

    # 打印
    print("Car Names:", car_names)
else:
    print("Error: 更新页面上的tab-content-item元素不足.")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值