以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]网页信息的读取  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=177589)

--  作者:chnfo
--  发布时间:2022/5/27 15:29:00
--  [求助]网页信息的读取
一个网页,是图文混排的,使用文本文件打开以后是这样的

<p>
3452345<img alt = "Pic001.png" src=".\\Pic001.png" />
</p>
<p>
<a href="https://www.baidu.com/"> https://www.baidu.com/</a>
34563563<img  src=".\\pic002.png" />
<a href="https://www.163.com/"> https://www.163.com/</a>
</p>

我对网页方面的了解就是个空白,用什么方法把网页的可视信息按顺序读取出来?

--  作者:有点蓝
--  发布时间:2022/5/27 15:44:00
--  
当成xml解析:http://www.foxtable.com/mobilehelp/topics/0171.htm

Dim s As String = "<p>3452345<img alt = ""Pic001.png"" src="". \\ Pic001.png"" /></p>"
Dim xo = Foxtable .XObject.Parse(s)
Output.Show(xo.tostring)

--  作者:chnfo
--  发布时间:2022/5/27 16:01:00
--  
这个会把同类型的信息读取出来,比如文本放在一起,图片放在一起,顺序也原文不一致

而且原码里面有换行符,提示有多个根元素?

[此贴子已经被作者于2022/5/27 16:04:46编辑过]

--  作者:有点蓝
--  发布时间:2022/5/27 16:05:00
--  
顺序肯定一致。首先得看懂网页的结构,才有可能做下去,不然就算当做xml解析出来的东西也看不懂
--  作者:chnfo
--  发布时间:2022/5/27 16:13:00
--  
网页原文是这样的
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:html.rar

在命令窗口解析出来是这样的
{
  "#text": [
    "\\r\\n3452345",
    "\\r\\n34563563"
  ],
  "img": [
    {
      "@alt": "Pic001.png",
      "@src": ".\\\\Pic001.png"
    },
    {
      "@src": ".\\\\pic002.png"
    }
  ],
  "a": [
    {
      "@href": "https://www.baidu.com/",
      "#text": " https://www.baidu.com/"
    },
    {
      "@href": "https://www.163.com/",
      "#text": " https://www.163.com/"
    }
  ]
}


--  作者:有点蓝
--  发布时间:2022/5/27 16:16:00
--  
没有问题的。还是那句话:首先得看懂网页的结构,才有可能做下去,不然就算当做xml解析出来的东西也看不懂
--  作者:有点蓝
--  发布时间:2022/5/27 16:22:00
--  
您的用法肯定不对,我解析出来是这样


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:chnfo
--  发布时间:2022/5/27 16:24:00
--  
打开网页,是文本“3452345”,然后是图片Pic001.png,再然后是网址https://www.baidu.com,再然后是文本“34563563”,再然后是图片pic002.png,再然后是网址https://www.163.com

解析的结果,是两个文本放在一起,然后是两张图片,然后是两个网址
[此贴子已经被作者于2022/5/27 16:24:30编辑过]

--  作者:chnfo
--  发布时间:2022/5/27 16:34:00
--  
第一段是文本1+图片1(中间有一个换行符)
第二段是百度网址+文本1+图片2+网易网址。
看图如下
图片点击可在新窗口打开查看此主题相关图片如下:解析结果顺序对不上.png
图片点击可在新窗口打开查看

希望得到的结果是 文本1、图片1、百度网址、文本2、图片2、网易网址
现在的结果是 文本1、图片1、百度网址、网易网址、文本2、图片2

如果用文本打开网页,把中间的回车符删除,也就是中间那个<p></p>删除,那解析出来的结果就更明显,先两个文本,再两个图片,再两个网址
[此贴子已经被作者于2022/5/27 16:56:02编辑过]

--  作者:有点蓝
--  发布时间:2022/5/27 16:55:00
--  
这种没有办法,同是a,引擎理解为是一个数组,是解析到一起的。