【发布时间】: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