Я пытаюсь очистить сайт недвижимости. Соскребающий код работает хорошо, но у меня есть проблема:
Когда я делаю исследование на этом сайте (который выглядит как Google), он показывает мне много страниц.
Как я могу подсчитать, сколько страниц найдено в результате поиска и чем их отбросить?
Сайт: https://www.zapimoveis.com.br/aluguel/predio-inteiro/?transacao=Aluguel&tipoUnidade=Comercial, Pr% C3% A9dio% 20Inteiro & tipo = Im% C3% B3vel% 20usado
Как вы видите, когда я выполняю простой поиск, он показывает меня сверху:
"10.177 préd ios inteiros para alugar", что означает "10.177 здание, доступное для аренды".
Внизу сайта показаны некоторые найденные страницы, я хочу просмотреть все из них.
вот мой код, мне нужно просмотреть как под каждой страницей поиска ... его работа для очистки данных, таких как Аренда, Квадратные Метры:
import pandas as pd
from bs4 import BeautifulSoup
import requests
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"}
url = requests.get("https://www.zapimoveis.com.br/aluguel/predio-inteiro/?transacao=Aluguel&tipoUnidade=Comercial,Pr%C3%A9dio%20Inteiro&tipo=Im%C3%B3vel%20usado", headers = headers)
if url.status_code == 200:
soup = BeautifulSoup(url.content, "html.parser")
soup = BeautifulSoup(url.content, "html.parser")
Aluguel = [headline.get_text() for headline in soup.find_all("p", {"class": "simple-card__price"})]
AluguelFixed = list(map(int, [i.replace('.', '').replace("R$", "").replace("mês", "").replace("\n","").replace("/","").strip() for i in Aluguel]))
Metragem = [li.find("span", recursive=False).get_text() for li in soup.find_all("li", {"class": "feature__item" }) ]
MetragemAjustada = list(map(int, [i.replace('m²', '').strip() for i in Metragem if 'm²' in i]))
BancoDeDados = pd.DataFrame(data={"col1": MetragemAjustada, "col2": AluguelFixed})
BancoDeDados.to_csv("C:\\Users\\fernando.rezende\\OneDrive - ES Ltda\\Área de Trabalho/RobozapDataFrame.csv", sep=',',index=False) ```