Python BeautifulSoup - can't read website pagination

Viewed 87

I tried to extract div with class='no-selected-number extreme-number' that contains the website pagination, but I don't get the expected result. Can anyone help me?

Below is my code:

import requests  from bs4 import BeautifulSoup 

URL ="https://www.falabella.com.pe/falabella-pe/category/cat40703/Perfumes-de-Mujer/"
headers = {'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538 Safari/537.36'}

r = requests.get(URL, headers=headers, timeout=5)  html = r.content

soup = BeautifulSoup(html, 'lxml')  box_3 =
soup.find_all('div','fb-filters-sort') 
for div in box_3:
  last_page = div.find_all("div",{"class","no-selected-number extreme-number"})
  print(last_page)
1 Answers

You may need a method that allows time for page loading e.g. using selenium. I don't think the data you are after is present with requests.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options  

chrome_options = Options()  
chrome_options.add_argument("--headless")  
url ="https://www.falabella.com.pe/falabella-pe/category/cat40703/Perfumes-de-Mujer/"
d = webdriver.Chrome(chrome_options=chrome_options)
d.get(url)
print(d.find_element_by_css_selector('.content-items-number-list .no-selected-number.extreme-number:last-child').text)
d.quit()
Related