我使用以下代码从 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 发音 没有精确的 好文章
我现在想将评论翻译成阿拉伯语后提取出来,我该怎么做?
如果您找到了解决方案,可以分享一下吗?