【问题标题】:Scraping with Python Selenium: iterate through html table without tags用 Python Selenium 抓取:遍历没有标签的 html 表
【发布时间】:2016-10-28 19:08:01
【问题描述】:

我是一名 Python 新手,正在从事一个有趣的小爬虫项目。试图从这里提取信息: http://www.airfleets.net/flottecie/American%20Airlines.htm

我在 Python 2 中并使用 Selenium

页面上有一个包含飞机详细信息的表格。我想遍历该表的第二列,该列标记为“活动”。通常,我会使用find_element_by_id 选择表。但是,此表没有id 标记。我想我需要通过find_element_by_xpath 找到表格,但我不确定找到表格的路径语法,然后还有第二列中的行。

总而言之,如果表格没有任何标识标签,我该如何遍历表格的行?

【问题讨论】:

  • 您可以通过_tag 或by_class 获取元素。它提供了元素列表,您可以像使用普通列表一样使用索引 (lst[x])、for 循环 (for x in lst) 等。您可以将find_element_by 与列表中的每个元素一起使用以获得“子元素” ”。顺便提一句。 Chrome 和 Firefox 有 DevTools,你可以看到“xpath”或“css 选择器”(有时需要安装扩展)

标签: python selenium web-scraping


【解决方案1】:

您可以使用 CSS 选择器或 XPath。正如 cmets 中提到的,您的浏览器的开发工具可能具有执行此操作的内置方法。

该表的 Xpath 是

/html/body/table[4]/tbody/tr[1]/td/table[2]/tbody/tr/td[2]/table 

您可以使用的 CSS 选择器是

body > table:nth-child(6) > tbody > tr:nth-child(1) > td > table:nth-child(3) > tbody > tr > td:nth-child(2) > table

例如,在 Chrome 中,您可以通过以下方式获取此信息:

(1) 打开开发工具并找到元素。您可以通过右键单击任何元素并单击“检查”来完成此操作

2) 右键单击​​ DOM 中的元素,然后选择 Copy > (Copy Selector / Copy XPath

【讨论】:

    猜你喜欢
    • 2018-07-30
    • 2017-10-12
    • 1970-01-01
    • 2023-03-17
    • 2019-10-30
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    相关资源
    最近更新 更多