使用 Selenium 将速卖通翻译成阿拉伯语后抓取评论

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

我使用以下代码从 AliExpress 上抓取评论。但是,我想抓取阿拉伯语 URL 中显示的内容。我在代码中使用了阿拉伯语 URL,但它显示了英文评论,即使它们最初不是英文的,这意味着它会在翻译成英文后显示评论。

from selenium import webdriver
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import pandas as pd

url = 'https://ar.aliexpress.com/item/1005003801507855.html?spm=a2g0o.productlist.0.0.1e951bc72xISfE&algo_pvid=6d3ed61e-f378-43d0-a429-5f6cddf3d6ad&algo_exp_id=6d3ed61e-f378-43d0-a429-5f6cddf3d6ad-8&pdp_ext_f=%7B%22sku_id%22%3A%2212000027213624098%22%7D&pdp_pi=-1%3B40.81%3B-1%3B-1%40salePrice%3BMAD%3Bsearch-mainSearch&gatewayAdapt=glo2ara'

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.maximize_window()
driver.get(url)

wait = WebDriverWait(driver, 10)

driver.execute_script("arguments[0].scrollIntoView();", wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '.tab-content'))))
driver.get(wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '#product-evaluation'))).get_attribute('src'))

data=[]

while True:

    for e in driver.find_elements(By.CSS_SELECTOR, 'div.feedback-item'):

        try:
            country = e.find_element(By.CSS_SELECTOR, '.user-country > b').text
        except:
            country = None

        try:
            comment = e.find_element(By.CSS_SELECTOR, '.buyer-feedback span').text
            print(comment)
        except:
            comment = None

        data.append({
            'country':country,
            'comment':comment
        })
    try:
        wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '#complex-pager a.ui-pagination-next'))).click()
    except:
        break

pd.DataFrame(data).to_csv('filename.csv',index=False)

输出:

它们实际上效果很好!我的意思是,低音实际上有负50,但它们工作良好,保持良好的电量,而且超级简单。不过,它们不能当场连接,因此您可能需要将其放回原位并拔出一两次才能连接,但当我真的需要音乐而我的大低音耳机没电时,它们效果很好!除了缺乏低音之外我喜欢它们 我喜欢这个产品的价格 没关系 我从未收到过这个 我买了 3 个,其中 1 个显示器坏了,无法为电池充电......耳机听起来很糟糕 非常好 非常好的文章 我收到的包裹,但我的音频质量很差,一个比另一个听到的次数多,而且声音不是很好,看起来不错,但不提供服务 优秀 非常好的文章 不准确 好东西

我尝试找到负责显示翻译评论的复选框,然后使用下面的代码单击它。它显示了不同语言的原始评论。

driver.execute_script("arguments[0].scrollIntoView();", wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '.tab-content'))))
driver.get(wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '#product-evaluation'))).get_attribute('src'))

输出:

它们实际上效果很好!我的意思是,低音实际上有负50,但它们工作良好,保持良好的电量,而且超级简单。不过,它们不能当场连接,因此您可能需要将其放回原处,然后拔出一两次才能连接,但当我真的需要音乐而我的大低音耳机没电时,它们效果很好!除了缺乏低音之外我很喜欢它们 我喜欢这个产品的价格 最好的 我从未收到过这个 我买了 3 个,其中 1 个显示器坏了,无法为电池充电......耳机听起来很糟糕 穆伊布宜诺斯 Muy buen artículo El paquete me llego pero miy mala calidad de audio que tiene, se oye uno mas que otro y no tiene muy buen sonido, se ve bonito pero no Sirbe 优秀 Muy buen 发音 没有精确的 好文章

我现在想将评论翻译成阿拉伯语后提取出来,我该怎么做?

python selenium-webdriver arabic aliexpress
1个回答
0
投票

如果您找到了解决方案,可以分享一下吗?

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