网站分析模式的设置

有“表格分析模式”和“非表格分析模式”两种分析类型。

1、表格分析模式

如您在前面的第一个设置对话框中选择的取数类型是从表格中取数，则您此时将进入表格取数模式。

> ⑴第一步，首先用“上翻”“下翻”按钮从许多表中找出一张适合于分析的表。

> 首先我们要明白“上翻”“下翻”是怎么回事。我在网页中只看见一张表，怎么分出这么多张表来？下面是关于网页中的表格基础知识：

> 一般在网页中，虽然您看不见表格线，但大多数网页里都有很多表格，在实际的网页制作中，表格被当成一种规范数据或文本显示位置的一种手段；有些网页甚至用表格来安排整个网页的布局，但您并看不到一根表格线；就是在一个表格中，也有可能嵌套很多小表格。但您不用担心，本软件能解析这些表格，并将其还原为一个个的小表格，如表格中有多层嵌套，本软件也能将其一层层还原出来，形成许多表格，由用户选择用哪一个表格来分析。

> 用户用来分析的表应该包含以下条件：

> 首先当然该表要必须包含您要的数据，包含该表的表头（用于校验该表是否变化，及定位表格）

> 在满足上述条件的前提下，尽量选表格小、内容少的表（这个因素并非必须的，只是一般说来这样做好一些而已，至少处理小表格的速度要快一些吧）。

> 举一个股票查询的具体例子（数据都是假设的）

> （表一）

> 某网站股价查询
> 名称 | 当前价 | 成交量 | 最高价 | 最低价
> 深发展 | 15.10 | 11212 | 16 | 15
> 深市综合指数 | 5000 | 888888 | 5100 | 4800
> 沪市综合指数 | 2000 | 555555 | 2100 | 1900

> 如上面的（表一）就有可能被分为下面的几张表（表二）---（表六）

> （表二）

> 某网站股价查询

> （表三）

> 某网站股价查询
> 名称 | 当前价 | 成交量 | 最高价 | 最低价

> （表四）

> 名称 | 当前价 | 成交量 | 最高价 | 最低价
> 深发展 | 15.10 | 11212 | 16 | 15
> 深市综合指数 | 5000 | 888888 | 5100 | 4800
> 沪市综合指数 | 2000 | 555555 | 2100 | 1900

> （表五）

> 深发展 | 15.10 | 11212 | 16 | 15
> 深市综合指数 | 5000 | 888888 | 5100 | 4800
> 沪市综合指数 | 2000 | 555555 | 2100 | 1900

> （表六）

> 某网站股价查询
> 名称 | 当前价 | 成交量 | 最高价 | 最低价
> 深发展 | 15.10 | 11212 | 16 | 15
> 深市综合指数 | 5000 | 888888 | 5100 | 4800
> 沪市综合指数 | 2000 | 555555 | 2100 | 1900

> 我们用（表五）和（表六）是否能得到数据呢，当然没问题。但最适合的显然是表四，因为他即包含了完整的表头，又包含了完整的数据，也正好摈弃了标题等无用的内容。

> 用上翻、下翻按钮将确定用于分析的表格找出来后，点击确定按钮，得到该表的标准化格式表！

> （下面都以表四的标准格式表为例）

> ⑵第二步，记录该表的格式（注意：当在下一步选择分析模式B时，不用在本步记录格式）， 其记录内容可以包括表头部分，确定在以后分析中是否要判断表格的总行列数变化与否。（结合前表4实例说明）

> 为何要记录下这些格式呢？

> 首先是为了定位表格，在以后分析中，软件将如何在该网页的许多表格中，确定取哪张表进行分析呢？满足表头格式和行列总数校验的只可能有一个表，这样很容易定位表格（如果产生多个表符合条件，而每个表的分析结果又不一样，则放弃使用该网站）。

> 具体操作上，有两种方式可以将需要记录校验的内容选到右边的列表框中。

> > ①如果需要记录的指定位置的内容，不随查询对象的变化而变化，如上表中的“当前价”、“最高价”、“最低价”等。您可通过A方式将其增加到需校验字段中，如上表中选第一行， 再点击旁边的“确定”，则第一行的每个字段都出现在左面的对话框中，您再双击左面对话框中的行，就可将其增加到右面。您还可再选其他的行或列，将其他您觉得要校验的字段，也加入右面对话框中。

> > ②要再次强调的是，您应确保该校验字段中的内容，不管应用那个查询对象返回结果都是一样。一个明现的例子就是上表2行1列中的“深发展”，如果您用上面的方式，将其列为校验字段，那当查询对象是“深万科”时，该位置就是“深万科”，这时软件就会认为表格格式发生变化而放弃用该网站。如果您一定要校验该处的内容，解决的办法是用B方式增加校验字段。在上例中，您可设置为，在2行1列包含 参数2（假设您在前面建立查询串时，将参数1作为股票代码，在此你可将参数2用作股票名称），并按增加按钮，则当您查询“深万科”时，软件就会用查询对象的名称（此时是“深万科”），来与对应表格进行比较。 （此时参数2就纯粹是为数据定位用的，这就叫定位参数）

> 所有这些工作，都是为检验出表格格式是否变化，如变化则不用该网站进行分析。

> 事实上，上表中只要确保2行1列和1行2列的内容没变化，则取的2行2列中的数据为当前价就是正确的。

> ⑶第三步，在确定表格无变化后，就要从表格中取出您想要的内容了。

> 有两种方式来确定内容位置，一种是直接定位，如针对下面（表七）比较简单的表，您先点击“行列两要素皆 固定”，再直接输入“2”行“2”列两个数字就可以得到当前价。其优点是简单，对一些简单表很适合。但对于较复杂的表格或要求，只能使用下一种分析方式了。

> （表七）

> 名称 | 当前价 | 成交量 | 最高价 | 最低价
> 深发展 | 15.10 | 11212 | 16 | 15

> 还有一种方式是针对行列中两个要素 都不固定（或只有一个固定）的。

> 有可能在查询一个对象时，返回的表格有多个数据行，而我们只要其中的一个数据行，但这个数据行的行数随查询对象的不同而变化。（仔细观察表八和表九，您会发现，返回的数据行有时在第二行，有时在第三行）

> （表八）

> 名称 | 当前价 | 成交量 | 最高价 | 最低价
> 深发展 | 15.10 | 11212 | 16 | 15
> 深市综合指数 | 5000 | 888888 | 5100 | 4800
> 沪市综合指数 | 2000 | 555555 | 2100 | 1900

> （表九）

> 名称 | 当前价 | 成交量 | 最高价 | 最低价
> 深市综合指数 | 5000 | 888888 | 5100 | 4800
> 四川长虹 | 15.10 | 11212 | 16 | 15
> 沪市综合指数 | 2000 | 555555 | 2100 | 1900

> 以上面的例子为例，当您查询“深发展”时，假设网站返回的数据不只深发展一行，还可能同时返回，深市和沪市的相关信息，，这时深发展的数据行在第2行；但当查数据“四川长虹”时，可能您需要的四川长虹的数据行在第3行。这样，唯一能确定的要素是当前价在第2列，但第几行的数据是我们需要的呢？

> 解决的办法就是用“行列中两个要素都不固定”的定位方式，

> 为了实现上面的查询要求，你可如下操作：

> （假设你在上一步建立查询串时，已将参数1作为股票名称，参数2作为股票代码）

> a.首先选择“B:行列中两个要素都不固定”模式。

> b.在“其中一个要素在：”的第一个空格中输入1，第2个选择“行”，第3个选“等于”，第4个选则“当前价”

> c.在“另一要素满足条件1”中的的第一个空格中输入1，第2个选择“列”，第3个选“包含”，第4个选则“参数1”

> 以后在“网络查询对象设置”中建立股票查对象时，这样建立两个股票查询参数：

> 参数1 | 参数2 | 参数3 | 参数4
> 深发展 | 0001 |  |
> 四川长虹 | 600839 |  |

> 您的要求还可以更进一步：

> 对于“深发展”，你可以关心当前价，而对“四川长虹”你又只关心他的成交量，用上面的方法是没法实现的。你可如下操作：

> a.首先选择“B:行列中两个要素都不固定”模式。

> b.在“其中一个要素在：”的第一个空格中输入1，第2个选择“行”，第3个选“等于”，第4个选则“参数3”

> c.在“另一要素满足条件1”中的的第一个空格中输入1，第2个选择“列”，第3个选“包含”，第4个选则“参数1”

> 以后在“网络查询对象设置”中建立股票查对象时，这样建立两个股票查询参数：

> 参数1 | 参数2 | 参数3 | 参数4
> 深发展 | 0001 | 当前价 |
> 四川长虹 | 600839 | 成交量 |

> 注意了：这时的参数3就成为了定位参数，其作用完全为了确定查询数据的位置。 与查对象参数的作用是不同的。

> 本软件还可进行更进一步的复杂查询：下面只简单举例：

> 你可以看见在“并且满足条件2”和“并且满足条件3”,其主要用于较复杂的定位：

> 以材料查询为例：（假如在建立查询串时，将参数1定为材料名称）

> 在输入一个材料名称“ 建筑钢材”后，返回下面的表格（纯为举例）

> 材料名称 | 规格 | 产地 | 批发价格 | 零售价格
> 建筑钢材 | 1寸 | 上海 | 2800 | 3000
> 建筑钢材 | 1寸 | 山东 | 3000 | 3200
> 建筑钢材 | 2寸 | 上海 | 3800 | 4000
> 建筑钢材 | 2寸 | 山东 | 3900 | 4100

> 对于上面的表格，您要得到“1寸的山东产的零售价格”该如何设置查对象呢？操作如下：

> （假如在建立查询串时，将参数1定为材料名称）

> a.首先选择“B:行列中两个要素都不固定”模式。

> b.在“其中一个要素在：”的第一个空格中输入1，第2个选择“行”，第3个选“等于”，第4个选则“参数2”

> c.在“另一要素满足条件1”中的第一个空格中输入2，第2个选择“列”，第3个选“包含”，第4个选则“参数3”

> d.在“另一要素满足条件2”中的第一个空格中输入3，第2个选择“列”，第3个选“包含”，第4个选则“参数4”

> 以后在“网络查询对象设置”中建立股票查对象时，这样建立两个股票查询参数：

> 参数1 | 参数2 | 参数3 | 参数4
> 建筑钢材 | 零售价格 | 1 寸 | 山东

> 这时，参数2、3、4都是纯粹的定位参数了。

> 如果您都取“零售价格”，则也可在“其中一个要素在：”中这样设置：

> 第一个空格中输入1，第2个选择“行”，第3个选“等于”，第4个选则“零售价格”

> 这样做的优点是在建立查询对象时，不用再输入“零售价格”这个词汇了，缺点是该组任务的所有查询对象都只能得到“零售价格”了，而不是象上一种方法，不同的对象可以选择得到不同的价格。

> ⑷第四步，取数模式建立后您首先要进行测试，正确后才能存盘。

2、非表格分析模式

> 如您在前面的第一个设置对话框中选择的取数类型是从非表格中取串，则您此时将进入非表格分析模式。

> ①非表格分析模式中一般取的都是文本内容，其提取方式也比较简单，另外还有一个统计表功能，帮助确定用户用鼠标选定的词，在全文中处于一共有几个，当前选定的词是第几个；全文有多少行，当前选定的词处在第几行等统计数据。

> ②要说明的是：在用户看到文本结果的网页中，在多数情况下，除用户需要的信息外，还有许多其他东西，比如用户在看某网站新闻的标题时，除您需要的标题新闻外，还有顶上的一些广告信息，一些菜单信息等，在最后还总有一些版权 及联络信息，显然您并不想在自己的手机或寻呼机上看到这些无用信息。另外，可能在该网站的新闻标题中还有若干分类，如经济，军事等等，而您可能只对其中的一部分内容感兴趣。

> ③通过观察您感兴趣的内容开始（和结束）的地方附近一般有什么词，或处于第几行。基本上都能得到您需要的结果。因为网页的版面在一段时期内都是相对固定的，您可找出菜单或标题 （如“经济新闻”、“军事新闻”等小标题）结束处的相对位置（行数，第几个词）。这就是所谓“定位”过程。

> ④为了简化定位过程，您可在定位前先进行过滤，如过滤掉某些词，或删除掉所有链接标题，或只选取链接标题等，根据自己的需要而定。

> ⑤具体过程说明如下：

> > 步骤1：定位前的过滤：

> > a.输入需首先过滤的词句（用;;间隔），您可直接输入，也可用鼠标选定一些词汇，在点击按钮，要注意的是，该部分过滤是在分析定位前进行的过滤，对下一步的定位有直接的影响。

> > b.如果你只对链接标题感兴趣，您可选择“只选取连接标题”，反之可选择“删除链接标题”，这样做的目的在于为后面的定位提供方便。如不能达到该效果，选择“选取全部内容”。

> > c.另外，本处不能删除软件的一些特定标志，如“{{”，“[链接]”等，因为他们将用于下面的定位分析，您可在最后一步的过滤中删除这些标志。

> > d.完毕后请一定要“查看本步结果”，以为下面的定位步骤将在此基础上进行。

> > 步骤2：定 位：

> > 应用下面介绍方法，对第1步得到的结果进行定位，以截取您所需要的内容。

> > 方法1：选取上面显示的全部信息。---顾名思义了。

> > 方法2：选取从第x行到第y行之间的内容。 需要说明的是：第1空输0代表从头,第2空输0代表至尾，如输入负数为倒数第几行。

> > 例如：第一空格为2，第二空格为60，则取第2行到第60行之间的所有内容。

> > > 第一空格为-8，第二空格为-3，则取倒数第8行到倒数第3行之间的所有内容。

> > > 第一空格为-8，第二空格为30，则取倒数第8行到第30行之间的所有内容。

> > > 注意：您必须确保（绝对）启始位置小于结束位置，不能颠倒，如从8行到第2行。否则无法正确取串。

> > > 方法3：选取从第x个汉字到第y个汉字之间的内容。 需要说明的是：第1空输0代表从头,第2空输0代表至尾，如输入负数为倒数第几个字。例子与上类同。

> > > 方法4：选取从第x个“单词a”到第y个“单词b”之间的内容。--关键是确定特征字符串，注意特征应严格按原来的大小写，并且，不要随意增减空格。最好用鼠标选取后，点击按钮后增加，不宜用输入的方式加入。

> > > 需要说明的是：在第1个空格输0代表从头开始选取内容；第3个空格输0代表选取至文尾（对应单词应为空）。如输负数则代表倒数第几个； 如果对应单词不为空。则代表正数第几个单词（当前一个是负数时为倒数第几个）；如果对应单词为空，则代表正数第几行（当前一个是负数时为倒数第几行）。

> > > 另外：当第4个空格为 abs 时(必须为小写字母)，代表从前面确定的启始位置开始连续取y行。（该项很重要，可能经常使用。见下面最后二例）

> > > （何谓对应单词：第2个词与第1个数字对应，第4个词与第3个数对应）

> > > 例子：

> > > 第一空格为2，第二空格为 中国，第三空格为8，第八空格为 中国：

> > > 表示取从第2个 中国 到第8个 中国 之间的所有内容。

> > > 第一空格为2，第二空格为 中国，第三空格为8，第八空格为 旦江：

> > > 表示取从第2个 中国 到第8个 旦江 之间的所有内容。

> > > 第一空格为2，第二空格为 中国，第三空格为-8，第八空格为 旦江：

> > > 表示取从第2个 中国 至倒数第8个 旦江 之间的所有内容。

> > > 第一空格为-2，第二空格为空，第三空格为-8，第八空格为 旦江：

> > > 表示取从倒数第2行 至倒数第8个 旦江 之间的所有内容。

> > > 第一空格为-6，第二空格为空，第三空格为8，第八空格为空：

> > > 表示取从倒数第6行 至正数第8个 旦江 之间的所有内容。

> > > 第一空格为-6，第二空格为空，第三空格为3，第八空格为abs：

> > > 表示取从倒数第6行起向后连续取3行内容。

> > > 第一空格为-6，第二空格为空，第三空格为-3，第八空格为abs：

> > > 表示取从倒数第6行起向前连续取3行内容。

> > 步骤3：对第二步得到的结果进一步处理。

> > a.具体处理选项详见设置框。

> > b.当选择最后一项时：可对返回的(与上次比)变化标题的具体内容做进一步裁减。

> > c.只有选择最后一项，您才可能使用“网页浏览新增内容”的通知方式，而只要是无参数网站，返回结果是文本，都可使用"网页浏览"的通知方式，具体区别见通知方式设置。

> > 由于软件不处于连续的运行状态，无法确定下本次运行与上次相比的新增标题，故不测试

> > 步骤4：对第3步得到的结果进行进一步过滤。本步骤也可在存盘返回最上级设置界面后，在其中的“测试网站”中进行---推荐该方法,由于用户在第3步可能选择了“新增标题”，因此，由于设置过程不是连续运行，因此无法确定新增标题。而需过滤的内容往往在正式运行期间还要增加，你可以到“测试网站”中增加。