У меня есть несколько сообщений об этом, но я нашел новую проблему. Из link1 и link2 вы заметите, что в зависимости от того, находится ли дом на рынке или нет, страница будет по-разному отображать оценку Redfin. У меня есть способ получить оценку redfin по ссылке1, но не по ссылке2.
Это HTML-код от link2, где хранится оценка redfin, которую я пытаюсь получить:
\
Я пытался следовать подходу, аналогичному тому, как я получаю данные link1, но мой код возвращает пустой список.
Вот мой код:
from selenium import webdriver
from selenium.webdriver.remote import webelement
import pandas as pd
import time
from bs4 import BeautifulSoup
driver = webdriver.Chrome('chromedriver.exe')
driver.get('https://www.redfin.com/')
def get_redfin_estimate(address):
search_box = driver.find_element_by_name('searchInputBox')
search_box.send_keys(address)
search_box.submit()
time.sleep(3)
soup = BeautifulSoup(driver.page_source, 'html.parser')
data = soup.find_all(lambda tag: tag.name == 'div' and tag.get('class') == ['statsValue'])
for element in data:
if "$" in element.text:
return(element.text)
else:
return "N/A"
# print(get_redfin_estimate('687 Catalina Laguna Beach, CA 92651'))
search_box = driver.find_element_by_name('searchInputBox')
search_box.send_keys('687 Catalina Laguna Beach, CA 92651')
search_box.submit()
time.sleep(3)
soup = BeautifulSoup(driver.page_source, 'html.parser')
data = soup.find_all(lambda tag: tag.name == 'span' and tag.get('class') == ['value'])
print(data)
driver.quit()
Если у кого-то есть предложения о том, как получить оценку redfin для link2, которая будет принята с благодарностью, или если у вас есть предложения о том, как получить оценку redfin для link1, дайте мне знать.