集搜客GooSeeker网络爬虫

标题: 线索是什么意思? [打印本页]

作者: gdzxLyzh    时间: 2016-1-23 20:18
标题: 线索是什么意思?
涉及到翻页后,切换到DS 让我输入线索数,是不是我想抓几页就输入多少线索?
请解释该名词,谢谢。
作者: xandy    时间: 2016-1-23 20:29
目标页面用网址表示,所以,一条线索对应一个目标页面的网址。你用DS打数机加载目标页面并抓取目标页面的内容以及新的线索,这个过程可以形象理解成顺着一条线索达到了一个页面,而在这个页面抓取到的新线索就为爬虫拓展了更大的爬行范围。
作者: Fuller    时间: 2016-1-23 20:43
如果做翻页抓取规则的时候,勾选了“连贯抓取”,那么翻页过程是一口气完成的,无论是有50个分页还是500个分页,只有一个线索,翻页期间,不会为每个分页生成线索。这一点要注意区分一下。
作者: gdzxLyzh    时间: 2016-1-23 21:02
这个问题还不是很明白,线索是不是一个网页上能到达多少网页就是多少线索,总之概念很混乱。。。。

作者: xandy    时间: 2016-1-23 21:09
gdzxLyzh 发表于 2016-1-23 21:02
这个问题还不是很明白,线索是不是一个网页上能到达多少网页就是多少线索,总之概念很混乱。。。。
...

不是指网页数,举个例子,你要采集天猫所有女装的商品详情,首先你建立的第一个规则是抓“女装”关键词的搜索列表,每一件衣服都对应一个url,通往这个衣服的详情列表,这样采到n个女装就生成了n个url,而这些url就是你采集这些女装商品详情的线索,通俗而言,没有这些线索你就抵达不到每件衣服的详情页。 你的第二个规则是抓取女装的详情页,这些url就是第二个规则的线索数。
作者: gdzxLyzh    时间: 2016-1-23 21:22
xandy 发表于 2016-1-23 21:09
不是指网页数,举个例子,你要采集天猫所有女装的商品详情,首先你建立的第一个规则是抓“女装”关键词的 ...

大致看懂了。我自己再举一反三一下,例如在某论坛里的一个版块,总共100页,每页有20个帖子。
我的目的是抓取所有100页乘以20 等于2000个帖子的标题,时间以及所有回复。
那么我开始建立第一个规则,先采集100页所有帖子的标题,发表时间,作者到整理箱中。
然后建立第二个规则,目的是采集每个帖子的“详情页”(也就是每个帖子中所有的回复),第二个规则的线索是2000(因为总共是2000个帖子)
再建立第三个规则(因为有些帖子是高楼),用于采集高楼贴中的所有内容
说的好乱,,请版主多包涵!
作者: xandy    时间: 2016-1-23 21:30
gdzxLyzh 发表于 2016-1-23 21:22
大致看懂了。我自己再举一反三一下,例如在某论坛里的一个版块,总共100页,每页有20个帖子。
我的目的是 ...

逻辑是对的,但是第二个规则应该就可以采集帖子的内容了,为什么还要建第三个规则呢?
作者: Fuller    时间: 2016-1-23 21:31
第二个和第三个规则应该合成一个规则,在第二个规则中也定义个翻页线索,因为像Discuz这样的论坛,高楼分成了很多页,翻页抓每一楼。

如果有个帖子没有分页,也能抓到。
作者: gdzxLyzh    时间: 2016-1-23 21:34
Fuller 发表于 2016-1-23 21:31
第二个和第三个规则应该合成一个规则,在第二个规则中也定义个翻页线索,因为像Discuz这样的论坛,高楼分成 ...

明白! 就是在第二个规则中定义翻页线索,如果是矮楼则不影响,如果是高楼贴,那么规则2也可以顺利抓取,是这个意思吧?!
作者: gdzxLyzh    时间: 2016-1-23 21:39
xandy 发表于 2016-1-23 21:30
逻辑是对的,但是第二个规则应该就可以采集帖子的内容了,为什么还要建第三个规则呢? ...

恩恩, 规则1也要定义翻页线索,因为版块有20页。 规则2也要有翻页线索,因为要抓高楼贴。那么再问下主题和规则的关系:
1  我所有的目的可以是一个主题
2 然后我在这个主题下建立两个规则
3两个规则下各有一个整理箱,和一个线索
那么gooseeker运行时,对于规则1,规则2的执行顺序是怎样的?也就是说先抓取2000个帖子的标题作者等基本信息,再逐个抓取所有回复?还是抓取玩第一个帖子的所有内容,再抓第二个?

作者: Fuller    时间: 2016-1-23 21:43
gdzxLyzh 发表于 2016-1-23 21:34
明白! 就是在第二个规则中定义翻页线索,如果是矮楼则不影响,如果是高楼贴,那么规则2也可以顺利抓取, ...

是的
作者: Fuller    时间: 2016-1-23 21:52
gdzxLyzh 发表于 2016-1-23 21:39
恩恩, 规则1也要定义翻页线索,因为版块有20页。 规则2也要有翻页线索,因为要抓高楼贴。那么再问下主题 ...

不要做成一个主题,这两个规则明显是为了两件事
第一个:在板块中翻页抓取所有帖子的列表
第二个:针对每个帖子,翻页抓取每一楼

应该用两个不同的主题。

如果用同一个主题,DS打数机根据整理箱中设置的关键内容进行核对,能核对上的规则就使用,通常也能达到目的。

如果两个规则都能核对上,根据 规则编号 进行排序,规则编号是在MS谋数台的 命名主题 工作台上设置的。
[attach]676[/attach]


作者: gdzxLyzh    时间: 2016-1-23 21:59
Fuller 发表于 2016-1-23 21:52
不要做成一个主题,这两个规则明显是为了两件事
第一个:在板块中翻页抓取所有帖子的列表
第二个:针对每 ...

好的。  如果我在页面只需要抓取作者aaa发的帖子,怎么办?
因为用样例复制是把所有结构相同的都抓下来了
作者: gdzxLyzh    时间: 2016-1-23 22:04
Fuller 发表于 2016-1-23 21:52
不要做成一个主题,这两个规则明显是为了两件事
第一个:在板块中翻页抓取所有帖子的列表
第二个:针对每 ...

还有MS里的逻辑问题:
1、一个主题是用于实现一个功能的,这么描述可对?所以抓取所有帖子列表和 抓取每个帖子的楼层要做成两个主题。
2、在一个主题下可以有多个规则吗?这多个规则都是为了实现一个功能服务的,理解可对?
3、每个规则对应多个整理箱?
就是这样 主题 包含规则s 规则包含整理箱s?
作者: Fuller    时间: 2016-1-23 22:42
gdzxLyzh 发表于 2016-1-23 21:59
好的。  如果我在页面只需要抓取作者aaa发的帖子,怎么办?
因为用样例复制是把所有结构相同的都抓下来了 ...

抓取的时候通常不能做筛选。都抓下来后再筛选

可以自定义xpath,使用contains()函数作为条件进行过滤。但是,万一有一页上没有aaa发的帖子,如果抓取内容设置了关键内容,那么在这页上就失败了。

如果不在这个字段上设置关键内容,不会失败,会继续翻页。但是,肯定都要翻一遍,不如就抓下来后再筛选
作者: Fuller    时间: 2016-1-23 22:42
gdzxLyzh 发表于 2016-1-23 22:04
还有MS里的逻辑问题:
1、一个主题是用于实现一个功能的,这么描述可对?所以抓取所有帖子列表和 抓取每 ...

可以这样理解
作者: beanbing    时间: 2016-10-22 18:02
如果是一个页面网址下面有无数个URL,你怎么知道数字呢?
作者: shenzhenwan10    时间: 2016-10-22 18:23
你说的“怎么知道数字”是什么意思?
作者: Fuller    时间: 2016-10-23 07:46
beanbing 发表于 2016-10-22 18:02
如果是一个页面网址下面有无数个URL,你怎么知道数字呢?

你想构造网址?比如,把所有京东产品的网址构造出来?

对于京东产品,因为数字不连续,你无法构造。比如进入京东的产品分类页面,在那里把所有分类的网址抓下来,然后进入每个类,把所有产品的网址抓下来。一层层抓取。

可以看这个《采集流程规划教程
作者: beanbing    时间: 2016-10-23 08:39
嗯  没有理解,如果你要采集瀑布流的网址,那你线索里(也就是滚屏参数要输入多少呢?)
作者: Fuller    时间: 2016-10-23 10:09
beanbing 发表于 2016-10-23 08:39
嗯  没有理解,如果你要采集瀑布流的网址,那你线索里(也就是滚屏参数要输入多少呢?) ...

瀑布流滚不到底的,滚屏次数就是-1,永远抓不完
作者: beanbing    时间: 2016-10-23 13:40
Fuller 发表于 2016-10-23 10:09
瀑布流滚不到底的,滚屏次数就是-1,永远抓不完

就是有知道多少才输入?比如楼上说的2000?  那如果不是瀑布流,可以直接输入-1  会有什么影响吗
作者: Fuller    时间: 2016-10-23 15:41
beanbing 发表于 2016-10-23 13:40
就是有知道多少才输入?比如楼上说的2000?  那如果不是瀑布流,可以直接输入-1  会有什么影响吗 ...

输入-1的话,就会永远运行
作者: beanbing    时间: 2016-10-24 10:24
那我就不明白这个今日头条的规则了
作者: Fuller    时间: 2016-10-24 11:04
beanbing 发表于 2016-10-24 10:24
那我就不明白这个今日头条的规则了

这个主要作为示例,另一方面,设置成-1很不安全,有些网站,如果翻页过程中永远不删除顶上的内容,内容会占用到很大大,最终导致程序崩溃。所以,-1的情况需要慎重使用
作者: beanbing    时间: 2016-10-24 11:13
1.那这样的话  就算是无到底的网页  你也只能设置上一定数量  比如2000次滚屏   
2.如果我再MS里设置了,那是否无需再DS中重新设置呢
多谢
作者: Fuller    时间: 2016-10-24 22:55
beanbing 发表于 2016-10-24 11:13
1.那这样的话  就算是无到底的网页  你也只能设置上一定数量  比如2000次滚屏   
2.如果我再MS里设置了,那 ...

滚屏参数的设置有两类,而且是巨大的区别,不能搞混了:
1)连续动作中的连续滚屏,它的参数是在规则定义的时候设定
2)普通的滚屏,是在DS打数机上或者会员中心中设置。

这个帖子的板凳楼层有详细讲解:http://www.gooseeker.com/doc/thread-3859-1-2.html

作者: beanbing    时间: 2016-10-25 11:32
本帖最后由 beanbing 于 2016-10-25 11:41 编辑

滚屏是滚动的设置,线索是网页url的数量,如果一个页面中url是4000条 ,就输入4000条,但是为什么我的永远都是只抓取了两页呢,统计线索那里,也只有一条,为什么呢
作者: HJLing    时间: 2016-10-25 11:37
beanbing 发表于 2016-10-25 11:32
滚屏是滚动的设置,线索是网页url的数量,如果一个页面中url是2000条 ,就输入4000条,但是为什么我的永远 ...

你这是第一级页面 只有一个网址 线索就是1 你把这个页面的全部url(2000个)都采下来给第二级做线索 那第二级的线索才是有2000 你运行第二级的时候才输2000


作者: beanbing    时间: 2016-10-25 11:44
但是我的是滚屏的 ,抓取下来就只有几行数据,这个不对呀
我滚屏参数是4,总次数是4000,速度也相对调慢了,是-2
作者: HJLing    时间: 2016-10-25 11:52
beanbing 发表于 2016-10-25 11:44
但是我的是滚屏的 ,抓取下来就只有几行数据,这个不对呀
我滚屏参数是4,总次数是4000,速度也相对调慢了 ...

你用了连续动作的自动滚屏 需要把DS自带的滚屏关掉 具体:DS 配置-滚屏参数 滚屏次数设为0 这里你做了吗?


作者: beanbing    时间: 2016-10-25 11:57
滚屏速度也设置为0吗?

作者: HJLing    时间: 2016-10-25 12:00
beanbing 发表于 2016-10-25 11:57
滚屏速度也设置为0吗?

次数设为0之后就无所谓速度为多少了 因为已经不起作用了


作者: beanbing    时间: 2016-10-25 12:02
HJLing 发表于 2016-10-25 12:00
次数设为0之后就无所谓速度为多少了 因为已经不起作用了

不行 ,抓取出来的数据只要几行而已

作者: HJLing    时间: 2016-10-25 12:04
beanbing 发表于 2016-10-25 12:02
不行 ,抓取出来的数据只要几行而已

实际上采集的时候 有在往下滚屏吗 你观察一下


作者: beanbing    时间: 2016-10-25 12:14
本帖最后由 beanbing 于 2016-10-25 12:22 编辑

没有,之前就有,浏览器中出现了一次画面,然后就全白,然后就停止了
之前的就会有往下滚屏的现象,但现在改了连续动作的,还有关闭了自动滚屏的,反而不行了
作者: beanbing    时间: 2016-10-25 14:04
所以是不用设置?  重启了也不行
作者: scraper    时间: 2016-10-25 14:27
beanbing 发表于 2016-10-25 14:04
所以是不用设置?  重启了也不行

[attach]2056[/attach]
为什么跨度要设置为4? 就设置1试试


作者: beanbing    时间: 2016-10-25 14:37
不行 ,还是一样的情况
作者: scraper    时间: 2016-10-25 14:40
beanbing 发表于 2016-10-25 14:37
不行 ,还是一样的情况

我加载你的规则报错了 你运行有报错吗? DS下面的日志窗口有没有什么?


作者: beanbing    时间: 2016-10-25 14:44
没有  空白的
作者: beanbing    时间: 2016-10-25 14:44
scraper 发表于 2016-10-25 14:40
我加载你的规则报错了 你运行有报错吗? DS下面的日志窗口有没有什么?

...

没有  我弄的是单搜

作者: scraper    时间: 2016-10-25 14:51
beanbing 发表于 2016-10-25 14:44
没有  我弄的是单搜

截图看看

作者: beanbing    时间: 2016-10-25 14:56
scraper 发表于 2016-10-25 14:51
截图看看

如图

作者: beanbing    时间: 2016-10-25 15:21
哪里错了呢
作者: scraper    时间: 2016-10-25 15:23
beanbing 发表于 2016-10-25 15:21
哪里错了呢

我们需要检查一下程序 可能是目前的滚屏机制不适用于这个网站 等程序员测试之后找到原因再修改


作者: beanbing    时间: 2016-10-25 15:34
scraper 发表于 2016-10-25 15:23
我们需要检查一下程序 可能是目前的滚屏机制不适用于这个网站 等程序员测试之后找到原因再修改

...

如果不适用的话,是否意味着无法采集,还是有其他方法可以采集呢
(弄了好多天的= =)

作者: scraper    时间: 2016-10-25 15:41
beanbing 发表于 2016-10-25 15:34
如果不适用的话,是否意味着无法采集,还是有其他方法可以采集呢
(弄了好多天的= =)
...

不适用就要修改程序


作者: Fuller    时间: 2016-10-25 16:21
研发这边确认过了,这个滚屏有些特别,需要修改程序
作者: beanbing    时间: 2016-10-26 09:22
可以弱弱问一下什么时候能弄好呢?
作者: Fuller    时间: 2016-10-26 10:08
beanbing 发表于 2016-10-26 09:22
可以弱弱问一下什么时候能弄好呢?

这个是新发现的问题,要排一下,还有其他一些需求已经在排队了。平均2星期出一个版本,目前还不知道排在一个版本上。





欢迎光临 集搜客GooSeeker网络爬虫 (https://www.gooseeker.com/doc/) Powered by Discuz! X3.2