出于个人兴趣,我想在以下网页上进行网络报废汽车评论
www.cardekho.com/user-reviews/maruti-alto-800
我使用以下代码成功取消了第一页上的评论
pip install webdriver-manager
import selenium
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('chromedriver.exe')
url = 'https://www.cardekho.com/user-reviews/maruti-alto-800'
driver.get(url)
reviews = driver.find_elements(By.CSS_SELECTOR, ".contentspace")
for i in reviews:
i_title = i.find_element(By.CSS_SELECTOR, "h3 > a")
i_desc = i.find_element(By.CSS_SELECTOR, "p")
print(i_title.text, i_desc.text)
但我似乎无法废弃下一页上所有其他剩余的评论 它们的范围从 1 到 16,其中包括“下一个”。
提前致谢
我尝试了以下代码,选择“页面栏”的主要部分 但是 page_bar[0] 给了我第 6 页,超过 [0] 会给我“列表超出范围”
print(i.text)
page_bar[0].click()```
如果单击下一页,您会注意到包含页码的链接。
例如第 2 页:https://www.cardekho.com/user-reviews/maruti-alto-800/2?subtab=latest
例如第 3 页:https://www.cardekho.com/user-reviews/maruti-alto-800/3?subtab=latest
因此,要完成任务,您只需通过更改链接中的数字添加一个 for 循环来遍历第 1-16 页,您就可以抓取所需的所有页面。
例如,
for i in range(1, 16):
CurrentLinkIs = "https://www.cardekho.com/user-reviews/maruti-alto-800/" + str(i) + "?subtab=latest"
#perform your scraping here
#.
#.
#.