当前位置: 首页 > 知识库问答 >
问题:

从标记的网页中刮表

洪弘壮
2023-03-14

我需要从下面的链接刮表。

我使用selenium编写了一个脚本,可以单击下一个页面,但每个页面中的表似乎没有table标记。相反,它似乎只包含div标记。我发现很难在这个网站上找到桌子。任何帮助都是非常贴切的。

from selenium import webdriver
import time

url = "https://mahabocw.in/safety-kit-benefits-distribution/"
driver = webdriver.Chrome()
driver.get(url)

next_button = '/html/body/div/div[6]/div/article/div/div/div/div/div[2]/div/div/div[2]/div/div[4]/span[2]/div[3]/button'
click_next = driver.find_element_by_xpath(next_button)
click_next.click()

编辑%1

from selenium import webdriver
import time

url = "https://mahabocw.in/safety-kit-benefits-distribution/"
driver = webdriver.Chrome()
driver.get(url)

for i in range(1000000):
    next_button = '/html/body/div[1]/div[6]/div/article/div/div/div/div/div[2]/div/div/div[2]/div/div[4]/span[2]/div[3]/button'
    click_next = driver.find_element_by_xpath(next_button)
    click_next.click()

提前道谢。

共有1个答案

单于旭东
2023-03-14

对于'>'按钮,您可以使用更短的XPath:

//button[text() = 'Next']

至于表数据,好吧,我会用类似C#的代码来写:

var result = new List<List<string>>();
var rows = WebDriver.FindElements("//div[@role = 'row' and @row-index and div]");
foreach (var row in rows)
{
   var rowData = new List<string>();
   var cells = row.FindElements("/div");

   foreach (var cell in cells) rowData.Add(cell.Text);
   result.Add(rowData);
}
 类似资料:
  • 我用selenium用python编写了一个脚本,用于解析填充输入框并访问按钮时填充的一些结果。现在我的脚本很好地完成了这一部分。但是,我的主要目标是解析容器的标题,也可以作为来显示。 这是我到目前为止的尝试():

  • 我在stackoverflow进行了彻底的搜索,但没有找到合适的解决方案。我正在清理一个遗留的网站,我想提取所有的标签和输入名称。旧网页的html格式如下所示 我想使用python提取输出,并将beautifulsoup作为 我确实尝试了findall方法,但失败了,因为我需要标签(文本)和输入标签名称一起,有没有解决方案与标签文本的多个html标签报废?谢谢 我是一个新的网页刮削和这里的代码,我

  • 我需要一些关于使用python来删除站点中的一些数据属性的帮助。我尝试过使用和但没有成功,我在网上找到了一些关于使用beautiful Soup的文章。唯一的问题是我不知道怎么做。 这是我要刮的。 我正在尝试获得值,但我不知道如何获得。希望有人能帮忙。 问候, 哈扎

  • 已解决 通过使用HTMLUnit并在打印页面前停止一段时间,我让它打印缺少的内容

  • 我正在尝试刮网页,在那里我需要解码整个表到一个数据帧。我正为此使用漂亮的汤。在某些标记中,有一些标记没有任何文本。但这些值会显示在网页上的特定span标记中。 下面的代码对应于该网页, 但是,这个标记中显示的值是。我试着删掉它,但我收到的是空短信。 如何刮这个价值使用美丽的汤。 URL:https://en.tutiempo.net/climate/ws-432950.html 下面给出了我的用于

  • 我是编程新手,我正试图建立一个网站。 该网站是一个在线赌场(https://www.888casino.it/live-casino/#filters=all-轮盘赌),我只需要刮取其中一个显示的数字(特定位置中包含的数字大约每30秒改变一次,但我稍后会考虑这个问题)。 我要刮取的数字包含在span标记中,我无法找到它,因为它们没有id或类。因此,我考虑定位包含span标记的div标记,然后使用函