TypeError:__init__() 使用 Selenium 和 BeautifulSoup4 提取 Google 趋势博客文章标题时出现意外的关键字参数“options”错误

TypeError: __init__() got an unexpected keyword argument 'options' error extracting Google Trends blog post titles using Selenium and BeautifulSoup4

提问人:Hassan Suriya 提问时间:7/18/2023 最后编辑:undetected SeleniumHassan Suriya 更新时间:7/18/2023 访问量:99

问:

现在我有这个 python 代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from bs4 import BeautifulSoup

chrome_options = Options()
chrome_options.add_argument('--headless')  # Run Chrome in headless mode
chrome_options.add_argument('--no-sandbox')  # Add this option to avoid sandbox issues
driver = webdriver.Chrome(options=chrome_options)
driver.maximize_window()
try:
    driver.get('https://trends.google.com/trends/trendingsearches/realtime?geo=US&hl=en-US&category=t')
    scrollable_element = driver.find_element(By.XPATH, '//body')
    actions = ActionChains(driver)
    actions.move_to_element(scrollable_element)
    actions.perform()

    page_source = driver.page_source
    soup = BeautifulSoup(page_source, 'html.parser')
    title_element = soup.find('div', class_='summary-text')
    title = title_element.text.strip() if title_element else None
    print("Title:", title)

except Exception as e:
    print("An error occurred:", str(e))

finally:
    driver.quit()

但这会返回一个错误:

Traceback (most recent call last):
  File "extract_titles.py", line 11, in <module>
    driver = webdriver.Chrome(options=chrome_options)
TypeError: __init__() got an unexpected keyword argument 'options'

如何修复此错误并获取博客文章标题?或者有人可以使用其他工具或技术为我提供 Python 代码吗?不幸的是,我被限制使用 Python 2.7。

我无法使用 Puppeteer,因为 Node.js 在我的服务器中不可用。此外,我尝试了 PHP 简单 HTML DOM 和 DOMDocument,但它们对于谷歌趋势动态分页来说还不够,因此我最终使用了 Selenium。

python-2.7 selenium-webdriver 网页抓取 selenium-chromedriver

评论


答:

0赞 undetected Selenium 7/18/2023 #1

根据 selenium 4.10.0 项目描述,支持的最低 Python 版本为 3.7

Python3.7

您需要从 Python 版本 2.7 升级到 Python 版本 3.7