You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用BeautifulSoup爬取Pakwheels二手车页li标签无返回数据如何解决

问题排查与修正方案

现有代码的两处核心错误

  • 实例化BeautifulSoup时错误传入了字符串'src',而非实际存储了网页内容的变量src,导致解析的是无意义的字符串,而非真实网页内容
  • find_all查找标签时,只需传入标签名li即可,不需要加尖括号,你传入的"<li>"不是合法的标签查询参数

额外优化点(避免反爬拦截)

大部分站点会校验请求头的User-Agent字段,没有合法UA的请求会被拦截返回异常内容,需要先构造请求头再发起请求

修正后的可运行代码

import pandas as pd
import requests as req
import numpy as np
from bs4 import BeautifulSoup

# 构造请求头模拟浏览器访问
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
URL = "https://www.pakwheels.com/used-cars/search/-/"
result = req.get(URL, headers=headers)
# 确认请求正常
if result.status_code == 200:
    src = result.content
    # 传入真实的网页内容变量,不要加引号
    soup = BeautifulSoup(src, 'lxml')
    # 直接传标签名li查询
    car_name = soup.find_all("li")
    print(f"匹配到的li标签数量:{len(car_name)}")
    # 后续可遍历car_name提取所需数据
else:
    print(f"请求失败,状态码:{result.status_code}")

后续提取建议

如果需要提取特定的li标签(比如带特定class属性的车辆列表项),可以给find_all增加属性筛选参数,比如soup.find_all("li", class_="对应class属性值"),可以精准过滤出你需要的车辆数据项,避免匹配到页面其他无关的li标签。

内容的提问来源于stack exchange,提问作者Abdurehman Dar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 08:00:01