【问题标题】:Web scraping C# [closed]网页抓取 C# [关闭]
【发布时间】:2012-09-12 15:51:12
【问题描述】:

我正在尝试从需要登录的网站进行网络抓取,我已经实现了该操作并成功抓取了该网站。

我遇到的问题是,我试图抓取的值直到加载站点几秒钟后才会出现,我正在从 Siemens OZW772.04 控制器单元抓取并且它有获取摄氏度,它需要几秒钟才能将它们全部加载。

所以在我抓取了网站之后,文本还可以,但是所有的值都是这样的

Datapoint   Value       
HN1 heat-in \n
---
 \n     \n

 \n 
 HN2 room-temp \n
 ---
 \n      \n

 \n 

其中 \n 是我需要的值。我已经尝试过让线程等待,但这似乎也不起作用。

【问题讨论】:

  • 您必须提供更多关于您的实施的详细信息,我们才能为您提供帮助。
  • 如果您在浏览器中加载它,页面呈现后是否也会出现明显的延迟?如果是这样,请确保页面没有执行 ajax 请求来获取数据 - 您还需要抓取这些数据 - 因为很多这些设备似乎更喜欢
  • 事实上,如果页面加载了占位符值,那么这就是必须发生的事情,查看浏览器调试器中的网络选项卡,看看页面是否独立于自身获取数据
  • 还有其他方法可以获取数据吗? SNMP? OPC?
  • 初始传输中未填充的值不会自动填充。很可能有一些javascript,它轮询更新值并将它们插入到内容中,必须执行。您应该了解设备是否具有 Web 服务,您可以轮询您的值,而不是尝试截屏。此外,您需要显示一些代码或至少指定您使用哪些 .NET 类来获取页面。

标签: c# html web-scraping


【解决方案1】:

如果网页使用 javascript 加载或编辑 html,那么除非您像浏览器那样渲染页面(即使用浏览器),否则您将看不到这一点。您可以使用WebKit and the WebKit.NET libraryone of several alternatives

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    • 2011-07-29
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多