【问题标题】:C# Download a website with the content needed to display it properlyC# 下载具有正确显示所需内容的网站
【发布时间】:2023-03-12 19:11:01
【问题描述】:

以下场景:我们已经开发了大约 400 个个人网站,目前正在尝试构建我们的产品组合。由于多种原因,我们希望显示该指数,以便我们可以将其放在我们的投资组合中。首先想到的是以编程方式对每个站点进行屏幕截图。我们公司的负责人立即揭穿了它,因为他们想现场展示它。 iframe 显然不是替代方案。所以我们必须下载索引。可能只有正确显示所需的样式和图像。

我不确定如何开始这样做。

你们有什么想法吗?

【问题讨论】:

  • 你说的是什么索引?
  • (我假设索引是菜单栏)如果是您自己的网站,您可以抓取纯 html 代码并查找您放入每个页面的索引区域的某个类/ID。从市场 div + div 定义本身中获取所有代码。拉取所有外部资源(如 css 文件),然后就可以工作了(虽然它只是为了展示,但如果索引按钮后面的链接是动态的,它们很可能会被破坏,您还需要修复指向外部文件或原始网站仍然在线的推文)

标签: c# web-crawler


【解决方案1】:

CodedUI(和 Selenium)的底层技术使用网络爬虫来隔离网页的特定有用部分。我建议使用该底层库来抓取实时运行的网页,并提取构成页面结构的任何图像和 div。

然后您可以将它们作为静态 HTML 发出,以使页面快照适合站点索引。

这样做意味着您将使用与测试自动化相同的技术,但您可以从 HTML 中提取有用的结构并将其作为页面快照发出,而不是运行测试。您必须标记 HTML 的“有用”部分,以使爬虫仅提取您认为应该编入索引的项目(即,如果 HTML5 则包含 data- 属性)。这可能需要大量工作 - 因此,如果您只需要每个页面的屏幕截图,只需使用 Selenium 或 CodedUI 来抓取您的网站并捕获屏幕图像。

【讨论】:

    猜你喜欢
    • 2012-03-16
    • 2023-02-11
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 2018-04-10
    • 2021-04-28
    相关资源
    最近更新 更多