网页信息抓取软件(优采云采集器如何利用字符串方式获取目标信息?-八维教育)

优采云 发布时间: 2021-12-06 22:20

  网页信息抓取软件(优采云采集器如何利用字符串方式获取目标信息?-八维教育)

  为了全局使用这个 CookieContainer,你可以将它作为一个全局变量使用,这样你就可以在下一个请求中将它赋给 CookieContainer 属性。

  更多关于CookieContainer的信息参见:(VS.80).aspx

  维护好这个CookieContainer,就可以登录后访问页面,解决模拟登录问题。

  接下来的问题自然是:如何从网页中获取自己想要的信息?

  抓取网页上的信息,是最简单也最麻烦的实现方式,即获取模板的方法。从优采云采集器的配置过程来看,也是采用这种方式。就是这样,但是人们可以将抓取器做成成熟的产品并畅销。这是无可比拟的,所以成败并不完全取决于技术。虽然 优采云采集器 配置起来比较麻烦,但是使用起来看起来还不错。

  这样,你需要制作一个模板。你需要知道目标网页的结构,知道你要找的信息在哪里,然后记录前后的字符串。可以通过截取字符串来获取目标。也可以使用正则表达式获取信息。必须确保前后字符串是唯一的。这很简单。您可以通过计算或匹配来获取目标信息。但是,在实际实现中还存在一些问题:

  下面是我遇到的问题;

  1.首先想用正则表达式来匹配,但是模块中设置的前缀和后缀有回车换行\r\n,结果总是不成功。我的常规技能很差,终于知道怎么回事了,把\r\n换成(\s*),问题解决了,你能找出原因吗?

  2. 使用字符串拦截方式获取,不是很精通常规规则,这种方式最安全,但是在拦截字符串之前,记得调整目标页面代码,前缀和从xml配置文件中读取的有可能后缀为回车和换行,但回车和换行的字符表现在不同的系统中是不同的。在Windows中是\r\n,在Linux中是\n​​,所以记得要统一。

  3. 前缀和后缀不是唯一的。有时页面上有两个不同的目标信息,但它们具有相同的前缀,例如:

  数据库

  软件工程师

  如果使用相同的前缀,拦截你想要的信息会更加困难。我想到了一个办法。当然,方法可能很笨,但问题解决了。也是优采云给我的启示,使用多个字符串定位Target信息,比如我要抓软件工程师,前缀是:

  *

  信息可能不同的地方用*替换,类似通配符。这样,用*把一个字符串一分为二,先找到第一个,然后以此索引位置为起点,再找到第二个字符串,这样就可以定位最终的信息,也可以用多个三个以上的字符串,这个实现就是为了解决问题,希望有更好的方法,希望以后能改进。

  4. 获取信息时也可以使用 MITHtmlPparser。这是一个开源库。您可以在codeproject中找到它并分析网页中的所有标签。如果信息不是太多,它是非常零散的。,这个也比较好用,你只需要知道最终信息里面是哪个标签,然后拿出来就行了。

  嗯,希望我能在新的一年多学点,经得起考验!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线