#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.