Selenium - Google Travel Scraping 价格历史缺失
Selenium - Google Travel Scraping Price History missing
我正在 returning html 这个 python 脚本,但它没有 return 价格历史记录(见屏幕截图)。使用非 selenium 浏览器会对价格进行 return html(即使不通过简单的正则表达式扩展此部分); chrome/safari/firefox都行,隐姓埋名也行。
from selenium import webdriver
import time
url = 'https://www.google.com/flights?hl=en#flt=SFO.JFK.2021-06-01*JFK.SFO.2021-06-07'
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=options)
driver.get(url)
time.sleep(10)
html = driver.page_source
print(html)
driver.quit()
我不太确定它是否是 chromedriver 中的某些设置。这是可能的,因为目前有一个第 3 方抓取器 returns 这个数据。
试过了没有用。
任何想法表示赞赏。
添加 chrome_options.add_argument("--disable-blink-features=AutomationControlled")
后,我开始看到这个块。不知道为什么它并不总是加载。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.chrome.options import Options
url = 'https://www.google.com/flights?hl=en#flt=SFO.JFK.2021-06-01*JFK.SFO.2021-06-07'
chrome_options = Options()
chrome_options.add_argument("start-maximized")
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(executable_path='/snap/bin/chromium.chromedriver', chrome_options=chrome_options)
driver.get(url)
# wait = WebDriverWait(driver, 20)
# wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".EA71Tc.q7Eewe")))
time.sleep(10)
history = driver.find_element_by_css_selector(".EA71Tc.q7Eewe").get_attribute("innerHTML")
print(history)
此处返回完整块,包括所有标签名称。如您所见,我尝试了显式等待,但此块不可见。尝试添加另一个显式等待。
我正在 returning html 这个 python 脚本,但它没有 return 价格历史记录(见屏幕截图)。使用非 selenium 浏览器会对价格进行 return html(即使不通过简单的正则表达式扩展此部分); chrome/safari/firefox都行,隐姓埋名也行。
from selenium import webdriver
import time
url = 'https://www.google.com/flights?hl=en#flt=SFO.JFK.2021-06-01*JFK.SFO.2021-06-07'
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options=options)
driver.get(url)
time.sleep(10)
html = driver.page_source
print(html)
driver.quit()
我不太确定它是否是 chromedriver 中的某些设置。这是可能的,因为目前有一个第 3 方抓取器 returns 这个数据。
试过了没有用。
任何想法表示赞赏。
添加 chrome_options.add_argument("--disable-blink-features=AutomationControlled")
后,我开始看到这个块。不知道为什么它并不总是加载。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.chrome.options import Options
url = 'https://www.google.com/flights?hl=en#flt=SFO.JFK.2021-06-01*JFK.SFO.2021-06-07'
chrome_options = Options()
chrome_options.add_argument("start-maximized")
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(executable_path='/snap/bin/chromium.chromedriver', chrome_options=chrome_options)
driver.get(url)
# wait = WebDriverWait(driver, 20)
# wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".EA71Tc.q7Eewe")))
time.sleep(10)
history = driver.find_element_by_css_selector(".EA71Tc.q7Eewe").get_attribute("innerHTML")
print(history)
此处返回完整块,包括所有标签名称。如您所见,我尝试了显式等待,但此块不可见。尝试添加另一个显式等待。