Python 用于刮削批评家的xpath';来自烂番茄的评论

Python 用于刮削批评家的xpath';来自烂番茄的评论,python,xpath,web-scraping,Python,Xpath,Web Scraping,我正在尝试从以下url获取审阅者姓名: 目前,在我的输出中,除了审阅者的姓名和他们所代表的站点之外,我拥有一切。我很好奇是否有人知道我用来刮评论员和网站的xpath有什么问题。我不认为烂西红柿阻碍了我,因为所有其他信息都存在于我的数据框架中。他们来自的只是评论员和网站,而他们并不存在 以下是我用来获取审阅者和站点的代码: reviewers = driver.find_elements_by_xpath('//*[@id="reviews"]/div[2]/div[4]/di

我正在尝试从以下url获取审阅者姓名:

目前,在我的输出中,除了审阅者的姓名和他们所代表的站点之外,我拥有一切。我很好奇是否有人知道我用来刮评论员和网站的xpath有什么问题。我不认为烂西红柿阻碍了我,因为所有其他信息都存在于我的数据框架中。他们来自的只是评论员和网站,而他们并不存在

以下是我用来获取审阅者和站点的代码:

reviewers = driver.find_elements_by_xpath('//*[@id="reviews"]/div[2]/div[4]/div[1]')
 for r in reviewers:
        names.append(r.find_element_by_xpath('//*[@id="reviews"]/div[2]/div[4]/div[' +str(reviewnum)+ ']/div[1]/div[3]/a[1]').text)
        sites.append(r.find_element_by_xpath('//*[@id="reviews"]/div[2]/div[4]/div[' +str(reviewnum)+']/div[1]/div[3]/a[2]/em').text)
        reviewnum+=1
我不完全确定这为什么不起作用。有人能告诉我我做错了什么吗

reviewnum
只是一个迭代器


如果您想查看更多代码(如果可能有帮助的话),请告诉我。

您只需要在表中的行中迭代代码,并打印每行中的子元素

from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait

driver=webdriver.Chrome(executable_path='Your path to the driver')
driver.get("https://www.rottentomatoes.com/m/avengers_endgame/reviews")
# I wait until page is loaded
WebDriverWait(driver, 15).until(EC.element_to_be_clickable((By.CLASS_NAME, 'review_table')))



rows = driver.find_elements_by_xpath("//div[@class='row review_table_row']")
print(len(rows))

reviewername = []
reviewersite = []
for row in rows:
    reviewername.append(row.find_element_by_xpath("(.//div[contains(@class,'critic_name')]/a)[1]").text)
    reviewersite.append(row.find_element_by_xpath("(.//div[contains(@class,'critic_name')]/a)[2]").text)

print(reviewername)
print(reviewersite)

driver.quit()
输出:

二十

['Richard Propes', 'Kelechi Ehenulo', 'Victor Pineyro', 'Stephen A. Russell', 'Matt Cipolla', 'James Hanton', 'Jason Fraley', 'Steven Prokopy', 'Saibal Chatterjee', 'Zehra Phelan', 'Allen Almachar', 'Nabila Hatimy', 'Ricardo Gallegos', 'Doug Walker', 'Brent McKnight', 'Nikki Francisco', 'Damond Fudge', 'Yasser Medina', 'Alex Hudson', 'Dan Tabor']
['TheIndependentCritic.com', 'Confessions From A Geek Mind', 'Seventh Art Studio', 'The New Daily (Australia)', 'Film Monthly', 'Outtake Mag', 'WTOP (Washington, D.C.)', 'Third Coast Review', 'NDTV', 'Flavourmag', 'The MacGuffin', 'The Star (Kenya)', 'Pólvora', 'Channel Awesome', 'The Last Thing I See', 'Cosmopolitan (Philippines)', 'KCCI (Des Moines, IA)', 'Cinemaficionados', 'Exclaim!', 'Phawker']