pythonweb-scrapingwebbeautifulsoup

Web Scraping by BeautifulSoup if the data shown only if I click "show details"


I am trying to scrape data from selling cars website, when I enter the website I see a table of cars (type, price, year), but if I want to know more details about the car I have to click on the car and then it shows more details. How can i scrape data from the those details without Selenium?

import headers
import requests
from bs4 import BeautifulSoup

page_num = 1
url = f"https://www.example.com/vehicles/cars?page={page_num}"

req = requests.get(url, headers=headers.get_headers()).text

soup = BeautifulSoup(req,"html.parser")

def decide_row(soup):
    rows = soup.find_all('div',class_="feeditem table")
    return rows

def decide_details(rows):
    for car in rows:
        car_kilometrage = car.find('div',id='accordion_wide_0')
        print(car_kilometrage)

decide_details(decide_row(soup))

Solution

  • There are different approaches belonging to your needs: