我一直在尝试从Dealabs网站上执行一些web抓取。
下面是示例页面:
https://www.dealabs.com/bons-plans/saneo-climatiseur-2166879
主要目标是能够获得所有评论并打印出来。
示例代码如下:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
url = "https://www.dealabs.com/bons-plans/saneo-climatiseur-2166879"
options = Options()
options.headless = True
driver = webdriver.Firefox(options=options)
driver.get(url)
button = WebDriverWait(driver, 2).until(
EC.element_to_be_clickable((By.XPATH, "/html/body/main/div[4]/div[1]/div/div[1]/div[2]/button[2]/span"))
)
button.click()
comments_list = driver.find_element_by_class_name("commentList")
comments = comments_list.find_elements_by_class_name("commentList-item")
for comment in comments:
_id = comment.get_attribute("id")
author = comment.find_element_by_class_name('userInfo-username').text
content = comment.find_element_by_class_name('userHtml-content').text
timestamp = comment.find_element_by_class_name('text--color-greyShade').text
print(_id)
print(author)
print(content)
print(timestamp)
print('-' * 30)
driver.close()
事实上,通过这样做,我只能收集最受好评的评论,而不是所有评论。
我有点困惑。
我是不是漏了什么?
提前感谢
大家好,谢谢大家抽出时间。
我发现了问题所在。
编辑了两行:
comments_list = driver.find_element_by_class_name("anchorTarget")
comments = comments_list.find_elements_by_class_name("commentList-item")
我没有关注html的正确部分。这就是为什么我得到的评论最多。
再次感谢。
您可以通过将page
参数作为
https://www.dealabs.com/bons-plans/saneo-climatiseur-2166879?page=1
https://www.dealabs.com/bons-plans/saneo-climatiseur-2166879?page=2
https://www.dealabs.com/bons-plans/saneo-climatiseur-2166879?page=3
以此类推,而不是每次单击“下一步”按钮。
正如标题所示,我正在尝试使用Selenium从网站(示例)中获取一些数据,但是我在从Pro结果表中获取隐藏在每一行中的数据时遇到了问题,即单击Show Details按钮()时显示的数据。 这是我的代码: 正如您所看到的,我可以很容易地获取表中的行,但是当我试图获取隐藏数据时,我就是找不到获取它的方法。 我对Selenium也不是很熟悉,所以欢迎提供任何指导。
我想从约翰·霍普金斯大学的新冠病毒仪表盘中找出死亡总人数。我想使用Selenium、Python和Selenium的chrome驱动程序来实现这一点。死亡人数可在路径下找到。 这是我的剧本: 它失败,错误为“无此类元素: 这种情况也发生在其他我正在努力抓取的网站上。 我怎样才能解决这个问题?这个错误的原因是什么?
问题内容: 我正在寻找一种方法,可以根据用户在PHP中提供的URL对另一个页面进行小的预览。 我只想检索页面标题,图像(如网站徽标)以及一些文字或说明(如果有)。有没有任何外部库/类的简单方法?谢谢 到目前为止,我已经尝试过使用DOCDocument类,加载HTML并将其显示在屏幕上,但是我认为这不是正确的方法 问题答案: 我建议您考虑为此使用simple_html_dom。这将使其非常容易。 这
问题内容: 我想使用Python在这样的网页上抓取“正在寻找这些作者:”框中的内容:http : //academic.research.microsoft.com/Search?query=lander 不幸的是,盒子的内容是由JavaScript动态加载的。通常在这种情况下,我可以阅读Javascript来了解发生了什么,或者可以使用Firebug之类的浏览器扩展来了解动态内容的来源。这次没有
问题内容: 我花了一天的时间研究可用于完成以下任务的图书馆: 检索网页的全部内容(例如在后台),而不向视图渲染结果。 例如,lib应该支持触发ajax请求的页面,以便在加载初始HTML之后加载一些其他结果数据。 从生成的html中,我需要获取xpath或CSS选择器形式的元素。 将来我可能还需要导航到下一页(触发事件,提交按钮/链接等) 这是我尝试未成功的尝试: Jsoup:效果很好,但不支持ja
问题内容: 在网站上,有在标顶部的几个环节,,,和。如果按下以数字标记的链接,它将动态地将一些数据加载到content中。如果被按下,它会用标签页,,,和第4页中的数据显示。 我想从按下的所有链接的内容中抓取数据(我不知道有多少,一次只显示3个,然后) 请举一个例子。例如,考虑网站www.cnet.com。 请指导我下载使用selenium的一系列页面,并自行解析它们以处理漂亮的汤。 问题答案: