首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在webbrowser、IE.application和httpwebrequest之间有什么选择来解析vb.net中的网页?

在webbrowser、IE.application和httpwebrequest之间有什么选择来解析vb.net中的网页?
EN

Stack Overflow用户
提问于 2015-06-08 16:34:28
回答 1查看 70关注 0票数 0

我正在尝试切换到vb.net,这是我为解析网页而编写的一个VBA代码。

目前我使用:

代码语言:javascript
复制
IE = CreateObject("internetexplorer.application")

并在网页中导航。

现在,我正在努力使代码更好(更快),我正在考虑使用"System.Threading“同时打开更多的网页(因为网站速度慢,每个页面打开大约需要5-10秒)。

我读了很多指南和线索,但读得越多,我就越困惑。

编写代码并不容易(我是自学的),我不会在错误的方向上浪费时间和精力。

目前,我打开一个网页的时间,然后提取一些文本,得到它的标签。

我必须打开两种类型的网页: 1)第一种类型:我有确切的网址;2)第二种类型:我需要填写一张表格才能得到我需要的文本。

这两种类型都有好办法吗?如果不是的话,对他们每个人来说,最好的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-08 16:46:29

您应该避免创建Internet或任何与浏览器相关的控件的实例,因为与其他解决方案相比,这将占用太多的RAM,特别是当您使用并行web请求时。

考虑采取以下办法:

  • 通过HttpWebRequest执行http-请求(您应该将其包装在类中)
  • 通过HtmlAgilityPack解析内容(也把它放在一个单独的类中)
  • 创建一个基于前面步骤中收集的信息构建真实URL的类。
  • 重用您围绕HttpWebRequest的包装类,以获得您想要的网站。

您应该查看.NET-Framework附带的"Task"-Class,并且应该查看“异步”-Keyword,以获得有关并行化的选项的第一次概览。

只有当你真的想自己处理所有线程的时候才直接使用线程,如果你第一次这么做的话,这会很复杂。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30714589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档