Я пытаюсь пролистать страницы для извлечения финансовых данных с сайта недвижимости. Я могу только разобрать 20-е свойство и не могу go дальше. Я пытаюсь записать номер страницы в URL и передать Startposition в качестве аргумента сеанса запросов, но, похоже, он не работает. Я хотел бы проанализировать цену, доход и адрес всех свойств. Это то, что у меня есть до сих пор. Печать с комментариями предназначена только для проверки работоспособности списков.
import requests
from bs4 import BeautifulSoup
with requests.Session() as session:
session.headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'}
session.get('https://www.centris.ca/fr/duplex~a-vendre~montreal-rive-sud?view=Thumbnail&uc=3')
while True:
# get page
url = 'https://www.centris.ca/fr/duplex~a-vendre~montreal-rive-sud?view=Thumbnail&uc=3'
response = session.post(url, data={"startPosition":str(24)})
r = requests.get(url)
html = response.text
soup = BeautifulSoup(html, "html.parser")
a_tags = soup.find_all('span')
span = soup.select_one('div.plex-revenue')
location = soup.select_one('div.address')
profitable_list = []
revenue_list = []
price_list = []
address_list = []
#print(soup)
count1 = 0
for link in a_tags:
if link.get('content') == None:
continue
else:
#print(link.get('content'))
price_list.append(link.get('content'))
count1 += 1
#print(count1)
#print(price_list)
count2 = 0
for span in soup.select('div.plex-revenue'):
ram = span.select_one('span').text
ram = ram[18:]
ram = ram[:-2]
ram = ram.replace(' ', '')
revenue_list.append(int(ram))
count2 += 1
#print(revenue_list)
for location in soup.select('span.address'):
address = ''
#for line in soup.select_one(div.)
ram1 = location.select('div')
for ram2 in ram1:
address += ram2.text
address_list.append(address)
#print(ram2.text)
#print()
#print(count2)
print(address_list)
print(len(address_list))
for index in range(len(price_list)):
if (int(revenue_list[index]) / int(price_list[index])) >= 0.08:
profitable_list.append(address_list[index])
#print(profitable_list)
#print(len(profitable_list))
"""