websrcraping, функция find() не работает

#python #python-3.x #web-scraping

Вопрос:

у меня есть проект 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() не работает, и я понятия не имею, почему!!вы можете мне помочь ?

Комментарии:

1. На вашей веб-странице нет <li> тегов, поэтому soup.find_all() возвращает пустой список.

Ответ №1:

Действительно, ваш запрос возвращает код статуса 403 Запрещен.

Веб-сайт защищен cloudflare, посмотрите на пакет, такой как https://github.com/VeNoMouS/cloudscraper.