【问题标题】:websrcraping, find() function not workingwebscraping,find()函数不起作用
【发布时间】:2025-11-26 14:00:01
【问题描述】:

我有一个 wescraping 项目,但我的代码遇到了问题

import requests
from selenium import webdriver
from bs4 import BeautifulSoup
import pandas as pd
driver = requests.get('https://bama.ir/car')
products= []
prices = []
kilometrs = []

soup = BeautifulSoup(driver.text,'html.parser')
for a in soup.find_all('li',herf=True,attrs={'class':'car-list-item-li list-data-main'}):
    name=a.find('div', attrs={'class':'title'})
    price=a.find('p', attrs={'class':'cost single-price'})
    kilometr=a.find('div', attrs={'class':'car-func-details'})
    products.append(name.text)
    prices.append(price.text)
    kilometrs.append(kilometr.text)
    print(kilometr.text)
df = pd.DataFrame({'Product Name':products,'Price':prices,'kilometr':kilometrs}) 
df.to_csv('products.csv', index=False, encoding='utf-8')

a.find() 不工作,我不知道为什么!!你能帮帮我吗?

【问题讨论】:

  • 你的网页没有任何<li>标签,所以soup.find_all()返回空列表。

标签: python python-3.x web-scraping


【解决方案1】:

确实,您的请求返回 403 Forbiden 状态码。

该网站受cloudflare保护,请查看https://github.com/VeNoMouS/cloudscraper之类的软件包。

【讨论】: