使用Google翻译与硒进行网络抓取

时间:2020-05-14 08:36:24

标签: python selenium web-scraping screen-scraping google-translate

我正在尝试在全球范围内抓取多个网页。因此,我想使用Google翻译扩展程序翻译网站,然后使用硒抓取页面。

我做了一些研究,并弄清楚了如何在运行硒时添加扩展名。

1)download google translate extension

2)Create .crx file

3)add extension to selenium

但是我不知道如何自动执行扩展(默认情况下,它什么也不做)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

option = webdriver.ChromeOptions()
option.add_extension('./translate.crx')
driver = webdriver.Chrome(executable_path = "./chromedriver", chrome_options = option)
driver.get("naver.com")
WebDriverWait(driver, 3).until(EC.presence_of_element_located((By.TAG_NAME, "body")))

''' @@@@ Here I want something like@@@@
driver.execute_extension("translate this page")
'''

print driver.find_element_by_tag_name("body").text
driver.quit()

此外,我发现该扩展程序无法翻译原始HTML,因此我可能必须使用其他方法进行爬网。 (也许通过ctrl-a,ctrl-c,ctrl-v代替by_tag_name(“ body”))

您能为此给我指点吗?

预先感谢

1 个答案:

答案 0 :(得分:1)

driver.execute_extension

对于我来说,是否可以按Selenium打开扩展名(请参见an example in C#)。然后,Selenium您可以点击翻译此页面链接:

enter image description here

快捷方式

使用Google Translate API