【问题标题】:Scraping the portion of HTML code (not text) using selenium in python在 python 中使用 selenium 抓取 HTML 代码的一部分(不是文本)
【发布时间】:2018-08-10 00:23:46
【问题描述】:

我想使用 Selenium 从一个完整的网页中抓取一部分 HTML 代码(不是全部),以用于我当前的项目。我不想要 HTML 的内部文本,而是实际代码并将其存储在外部文本文件或新的 HTML 文件中。

限制:我不能使用任何其他库,因为该网站是动态的并且富含 J.S,只有 Selenium 可以工作。

【问题讨论】:

  • 您要查找HTML code 的哪一部分?
  • 请阅读meta.stackoverflow.com/questions/303812/…为什么不应该将错误或代码作为屏幕截图发布。
  • 这是一个示例代码不是实际代码,只是希望人们抓住这个想法。
  • @DebanjanB 你可以查看示例代码/
  • @ZeeshanAhmad 你能用基于文本的 HTML 和你试图 scrapHTML 的确切块来更新问题吗>?

标签: python selenium selenium-webdriver web-scraping


【解决方案1】:

不,它可以用 selenium 提取选定的 html。要么你可以提取完整的 html,要么你必须一个一个地提取每个元素:

使用outerHTML提取整个标题标签(包括标题):

elem = driver.find_element_by_class_name("header cf")
source_code = elem.get_attribute("outerHTML")

提取导航中的所有内容(包括导航):

elem = driver.find_element_by_class_name("nav")
source_code = elem.get_attribute("outerHTML")

【讨论】:

  • 但是我怎样才能限制抓取,我的意思是如何定义端点?
  • 不定义终点,只定义起点,outerHTML 将返回元素本身的 HTML 加上所有子元素
  • 您可以做的另一件事是在报废后拆分html以获得所需的部分,请参阅:stackoverflow.com/questions/42422360/python-split-at-tag-regex
猜你喜欢
  • 2021-03-08
  • 2019-03-28
  • 1970-01-01
  • 1970-01-01
  • 2020-02-21
  • 2020-12-29
  • 2017-12-23
  • 2022-01-21
  • 1970-01-01
相关资源
最近更新 更多