用 Selenium 抓取总统演讲

问题描述 投票:0回答:1

我一直在使用 BS4 进行抓取,但之前从未使用过 Selenium。现在我想我做到了。我在政府网站上创建了旧总统演讲的链接列表 - 这是一个例子。 (根据法律定义,这是公共信息,不应该被屏蔽。)

BS4 给了我这个输出:

<noscript>Please enable JavaScript to view the page content.
<br/>Your support ID is: XXXXXXXXXXXX.</noscript>

我知道我应该使用 Selenium,但我什至无法配置驱动程序。

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome()
driver.get('http://www.biblioteca.presidencia.gov.br/presidencia/ex-presidentes/michel-temer/discursos-do-presidente-da-republica/discurso-do-presidente-da-republica-michel-temer-durante-sessao-solene-de-abertura-xxi-marcha-a-brasilia-em-defesa-dos-municipios-palacio-do-planalto');
time.sleep(5)
driver.quit()

这是我得到的输出:

SessionNotCreatedException: Message: session not created: Chrome failed to start: exited normally.
  (session not created: DevToolsActivePort file doesn't exist)

你能帮我做对吗?

python selenium-webdriver screen-scraping
1个回答
0
投票

下面的代码应该可以工作。确保您拥有最新的 Selenium 软件包。您不再需要使用外部驱动程序管理器,因为 Selenium 内置了一个。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('http://www.biblioteca.presidencia.gov.br/presidencia/ex-presidentes/michel-temer/discursos-do-presidente-da-republica/discurso-do-presidente-da-republica-michel-temer-durante-sessao-solene-de-abertura-xxi-marcha-a-brasilia-em-defesa-dos-municipios-palacio-do-planalto');
time.sleep(5)
driver.quit()

如果这不起作用,则说明您的设置出现问题,您可能需要检查或重新设置。

© www.soinside.com 2019 - 2024. All rights reserved.