集搜客GooSeeker网络爬虫

标题: 测试时出现只能采取一个样例,抓取4个内容,其中一个字出现抓取1次,之后便没有在被抓取 [打印本页]

作者: sodme007    时间: 2017-2-10 13:42
标题: 测试时出现只能采取一个样例,抓取4个内容,其中一个字出现抓取1次,之后便没有在被抓取
本帖最后由 sodme007 于 2017-2-10 13:57 编辑

规则名gzh_q和gzh_al,设置完抓取内容,做完样例复制映射后,测试时出现2个问题。一个是只能抓取一个样例,另一个是抓取4个内容,其中一个只出现抓取1次,之后便没有在被抓取

[attach]4982[/attach]

作者: xandy    时间: 2017-2-10 14:14
规则名gzh_q测试没有问题,你应该修改过了。
规则名gzh_al没有做样例复制,所以只抓了第一个样例,参看教程:《采集列表数据
另外要抓到每页的信息的话要设置翻页,参看教程:《翻页采集列表

作者: sodme007    时间: 2017-2-10 14:23
xandy 发表于 2017-2-10 14:14
规则名gzh_q测试没有问题,你应该修改过了。
规则名gzh_al没有做样例复制,所以只抓了第一个样例,参看教程 ...

如果没有做样例复制,怎么会有这个?[attach]4984[/attach]

作者: sodme007    时间: 2017-2-10 14:26
本帖最后由 sodme007 于 2017-2-10 21:58 编辑
xandy 发表于 2017-2-10 14:14
规则名gzh_q测试没有问题,你应该修改过了。
规则名gzh_al没有做样例复制,所以只抓了第一个样例,参看教程 ...

<?xml version="1.0" encoding="UTF-8"?>

<gzh_q1>
        <item>
                <name>
</name>
                <read>2293</read>
                <gzh-name>吃惑集结号</gzh-name>
                <time>2017-1-26</time>
        </item>
        <item>
                <name>
</name>
                <read>4</read>
                <gzh-name/>
                <time>1天前</time>
        </item>
        <item>
                <name>
</name>
                <read>1354</read>
                <gzh-name/>
                <time>2017-1-11</time>
        </item>
        <item>
                <name>
</name>
                <read>2672</read>
                <gzh-name/>
                <time>1天前</time>
        </item>
        <item>
                <name>
</name>


这是第一个规则gzh_q,  <gzh-name/>这个采集在第二个就没有了

作者: xandy    时间: 2017-2-10 14:27
sodme007 发表于 2017-2-10 14:23
如果没有做样例复制,怎么会有这个?

做了样例复制才会有这个

作者: sodme007    时间: 2017-2-10 14:29
xandy 发表于 2017-2-10 14:27
做了样例复制才会有这个

我一开始的截图就已经说明我做了样例复制

作者: xandy    时间: 2017-2-10 14:46
本帖最后由 xandy 于 2017-2-10 14:48 编辑
sodme007 发表于 2017-2-10 14:29
我一开始的截图就已经说明我做了样例复制

[attach]4985[/attach]
测试检测你没有做,你重新修改规则吧

作者: xandy    时间: 2017-2-10 14:50
sodme007 发表于 2017-2-10 14:26
曲奇故事

                2293

[attach]4986[/attach]
测试你的“gzh_q”规则,并没有出现漏抓现象,如上图所示。

作者: sodme007    时间: 2017-2-10 17:51
本帖最后由 sodme007 于 2017-2-10 21:59 编辑


还是不行

作者: ym    时间: 2017-2-10 18:09
本帖最后由 ym 于 2017-2-10 18:10 编辑

gzh_al的确是没做样例复制或者是映射了错的样例节点而没有保存成功。
最关键的是gzh_al和gzh_q都是采集搜狗的关键词搜索页面,是相同的网页结构,可以套用一个规则,所以,你只要把不同关键词的搜索网址添加到gzh_q规则里,就可以批量采集,不用对每个关键词搜索页面都做一个规则,往规则里添加网址的操作见《如何管理规则的线索》
对于刚入门的人,请看完《从入门到精确》章节的教程。

作者: sodme007    时间: 2017-2-10 20:02
本帖最后由 sodme007 于 2017-2-10 22:00 编辑

我试了好几次,用火狐和Goo自带浏览器都不行,第二个开始采集就没有
就算按你说的没有保存成功,我测试的时候总是有做映射的,为什么测试的时候就不行呢
作者: Fuller    时间: 2017-2-10 21:05
sodme007 发表于 2017-2-10 20:02
gzh_q呢?我试了好几次,用火狐和Goo自带浏览器都不行,第二个开始这个采集就没有
gzh_al就算按你说的没有 ...

[attach]5028[/attach]
你的整理箱上只做了内容映射,没有做定位标志映射,规则的适应性有限。定位标志映射可以让采集更加精准,而且适应度高。

如果没有做定位标志映射,爬虫会自动找定位标志。这个网页挺奇怪,首先你不能选择id作为定位标志,因为每个gzh-name对接的节点的@id都不一样,所以,只能采集到第一个,也就是用来做规则的那个。其次也不能用@class,因为第一个的class与其他的不一样,其他都是@class='account',但是第一个的是@class='account acchover'。所以,点击“定位”按钮,选择“绝对定位”就能解决这个问题。但是绝对定位的适应性最差。


但是这个网页没有很适合的定位标志可用,可以像下图那样做个有两层的嵌套的整理箱,最顶上那层用一个定位映射划定一下网页范围,在第二层那个容器节点上做样例复制,这样的绝对定位是在指定网页范围内容的绝对定位,适应性好一些。
[attach]5029[/attach]

作者: sodme007    时间: 2017-2-10 22:00
本帖最后由 sodme007 于 2017-2-11 00:08 编辑

后续小问题
作者: sodme007    时间: 2017-2-11 00:16
本帖最后由 sodme007 于 2017-2-11 00:18 编辑
Fuller 发表于 2017-2-10 21:05
你的整理箱上只做了内容映射,没有做定位标志映射,规则的适应性有限。定位标志映射可以让采集更加精准 ...

<?xml version="1.0" encoding="UTF-8"?>

<gzh_q1>
        <item>
                <划定范围>
                        <item>
                                <name>
AKOKO曲奇故事
</name>
                                <read>2293</read>
                                <gzh-name>吃惑集结号</gzh-name>
                                <time>2017-1-26</time>
                        </item>
                        <item>
                                <name/>
                                <read/>
                                <gzh-name/>
                                <time/>
                        </item>
                        <item>
                                <name>
网红曲奇Akoko背后的树大学姐
</name>
                                <read>10538</read>
                                <gzh-name>浙江树人大学</gzh-name>
                                <time>2016-12-14</time>
                        </item>
                        <item>
                                <name>
AKOKO曲奇2017年春节放假通知
</name>
                                <read>1368</read>
                                <gzh-name>AKOKO手工曲奇</gzh-name>
                                <time>2017-1-11</time>
                        </item>
                        <item>
                                <name>
AKOKO曲奇获奖名单忍痛公布!
</name>
                                <read>356</read>
                                <gzh-name>吃在盐城</gzh-name>
                                <time>2017-1-4</time>
                        </item>
                        <item>
                                <name/>
                                <read/>
                                <gzh-name>上海吃喝玩乐fun</gzh-name>
                                <time/>
                        </item>
                        <item>
                                <name>
日销3000盒的网红曲奇AKOKO空降苍南了!(内含福利)
</name>
                                <read>7663</read>
                                <gzh-name>苍南百事通</gzh-name>
                                <time>2016-11-8</time>
                        </item>
                        <item>
                                <name>
这份AKOKO网红曲奇,我为你准备了一年.
</name>
                                <read>4666</read>
                                <gzh-name>食尚揭阳</gzh-name>
                                <time>2017-1-4</time>
                        </item>
                        <item>
                                <name>
一个开始卖akoko曲奇的girl
</name>
                                <read>130</read>
                                <gzh-name>一群人的朝圣</gzh-name>
                                <time>3天前</time>
                        </item>
                        <item>
                                <name>
进入AKOKO曲奇的美食联盟,乐享新体验……
</name>
                                <read>4</read>
                                <gzh-name>A美食新滋味</gzh-name>
                                <time>1天前</time>
                        </item>
                </划定范围>
        </item>
</gzh_q1>
[attach]5030[/attach][attach]5031[/attach]


1,这是按照Fuller 老师的方法测试出来,红色的地方直接空了,哪里出问题了呢?重编了一次还是这样2,一共有590条搜索内容,但是翻页搜索之后得到的数据只有200多条



作者: Fuller    时间: 2017-2-11 09:49
sodme007 发表于 2017-2-11 00:16
AKOKO曲奇故 ...

像我在12楼说的,gzh-name不能用定位标志映射


另外,划定范围所用的定位标志使用那个news-list比较合适,是代表网页区域的最近的标志。

作者: sodme007    时间: 2017-2-11 14:00
Fuller 发表于 2017-2-11 09:49
像我在12楼说的,gzh-name不能用定位标志映射

<?xml version="1.0" encoding="UTF-8"?>

<gzh_q1>
        <item>
                <划定范围>
                        <item>
                                <name>AKOKO曲奇故事</name>
                                <read>2293</read>
                                <gzh-name>吃惑集结号</gzh-name>
                                <time>2017-1-26</time>
                        </item>
                        <item>
                                <name/>
                                <read/>
                                <gzh-name/>
                                <time/>
                        </item>
                        <item>
                                <name>网红曲奇Akoko背后的树大学姐</name>
                                <read>10555</read>
                                <gzh-name>浙江树人大学</gzh-name>
                                <time>2016-12-14</time>
                        </item>
                        <item>
                                <name>AKOKO曲奇2017年春节放假通知</name>
                                <read>1373</read>
                                <gzh-name>AKOKO手工曲奇</gzh-name>
                                <time>2017-1-11</time>
                        </item>
                        <item>
                                <name>AKOKO曲奇获奖名单忍痛公布!</name>
                                <read>358</read>
                                <gzh-name>吃在盐城</gzh-name>
                                <time>2017-1-4</time>
                        </item>
                        <item>
                                <name/>
                                <read/>
                                <gzh-name/>
                                <time/>
                        </item>
                        <item>
                                <name>这份AKOKO网红曲奇,我为你准备了一年.</name>
                                <read>4667</read>
                                <gzh-name>食尚揭阳</gzh-name>
                                <time>2017-1-4</time>
                        </item>
                        <item>
                                <name>日销3000盒的网红曲奇AKOKO空降苍南了!(内含福利)</name>
                                <read>7663</read>
                                <gzh-name>苍南百事通</gzh-name>
                                <time>2016-11-8</time>
                        </item>
                        <item>
                                <name>网红曲奇Akoko放大招了!【情人节主题铁盒】限量发售!</name>
                                <read>6814</read>
                                <gzh-name>TimeOut天津</gzh-name>
                                <time>2017-2-3</time>
                        </item>
                        <item>
                                <name>试吃179  最近超火爆的网红曲奇Akoko登陆天津!已开通网络预售!</name>
                                <read>3818</read>
                                <gzh-name>天津美食指南</gzh-name>
                                <time>2017-1-4</time>
                        </item>
                </划定范围>
        </item>
</gzh_q1>
[attach]5032[/attach]
1,gzh-name已经改为内容映射,定位标志也用news-list了,但是还是出现这样的情况。
[attach]5033[/attach]
2,在使用之前保存的翻页的时候出现这个问题,是啥原因



作者: Fuller    时间: 2017-2-11 14:58
sodme007 发表于 2017-2-11 14:00
AKOKO曲奇故事
                                2293
                                吃惑集结号

[attach]5034[/attach]

这个网页还会变,要多做些约束。
1,给三个抓取内容作了定位标志映射,看红色箭头
2,为gzh-name做了自定义xpath,自定义xpath写的时候要注意起始节点,一个抓取内容的xpath是相对于整理箱对应的节点开始写的。所以,先不写自定义xpath,只做内容映射,等生成了抓取规则以后,根据自动生成的xpath的定位起始节点编写自定义xpath,更多材料在教程首页搜索“自定义xpath

作者: Fuller    时间: 2017-2-11 15:02
[attach]5035[/attach]

翻页用的是记号线索,定位映射和记号映射如上图

作者: sodme007    时间: 2017-2-11 23:13
Fuller 发表于 2017-2-11 15:02
翻页用的是记号线索,定位映射和记号映射如上图

<?xml version="1.0" encoding="UTF-8"?>

<gzh_q1>
        <item>
                <划定范围>
                        <item>
                                <name>AKOKO曲奇故事</name>
                                <read>2293</read>
                                <gzh-name>吃惑集结号</gzh-name>
                                <time>2017-1-26</time>
                        </item>
                        <item>
                                <name/>
                                <read>10937</read>
                                <gzh-name>广州饮食汇</gzh-name>
                                <time>1天前</time>
                        </item>
                        <item>
                                <name>mark新年最佳伴手礼,AKOKO网红曲奇</name>
                                <read>14208</read>
                                <gzh-name>吃货联盟</gzh-name>
                                <time>2017-1-4</time>
                        </item>
                        <item>
                                <name>网红曲奇Akoko背后的树大学姐</name>
                                <read>10555</read>
                                <gzh-name>浙江树人大学</gzh-name>
                                <time>2016-12-14</time>
                        </item>
                        <item>
                                <name>AKOKO曲奇2017年春节放假通知</name>
                                <read>1373</read>
                                <gzh-name>AKOKO手工曲奇</gzh-name>
                                <time>2017-1-11</time>
                        </item>
                        <item>
                                <name>AKOKO曲奇获奖名单忍痛公布!</name>
                                <read>358</read>
                                <gzh-name>吃在盐城</gzh-name>
                                <time>2017-1-4</time>
                        </item>
                        <item>
                                <name/>
                                <read>2713</read>
                                <gzh-name>上海吃喝玩乐fun</gzh-name>
                                <time>3天前</time>
                        </item>
                        <item>
                                <name>日销3000盒的网红曲奇AKOKO空降苍南了!(内含福利)</name>
                                <read>7663</read>
                                <gzh-name>苍南百事通</gzh-name>
                                <time>2016-11-8</time>
                        </item>
                        <item>
                                <name>这份AKOKO网红曲奇,我为你准备了一年.</name>
                                <read>4667</read>
                                <gzh-name>食尚揭阳</gzh-name>
                                <time>2017-1-4</time>
                        </item>
                        <item>
                                <name>网红曲奇Akoko放大招了!【情人节主题铁盒】限量发售!</name>
                                <read>6814</read>
                                <gzh-name>TimeOut天津</gzh-name>
                                <time>2017-2-3</time>
                        </item>
                </划定范围>
        </item>
</gzh_q1>



[attach]5037[/attach]
按照老师的设置,但是那个name抓取不到


[attach]5038[/attach]

启动爬数据出现这个。初次启动爬数据只抓取了300个,但是一共有590条




作者: Fuller    时间: 2017-2-11 23:44
sodme007 发表于 2017-2-11 23:13
AKOKO曲奇故事
                                2293
                                吃惑集结号

原因是name那个抓取内容映射的节点不对,换一下映射节点。

没有线索了那个提示,用完整这句话放到教程首页做搜索,能找到答案:http://www.gooseeker.com/tuto/tutorial.html

作者: sodme007    时间: 2017-2-12 00:33
本帖最后由 sodme007 于 2017-2-12 00:35 编辑
Fuller 发表于 2017-2-11 23:44
原因是name那个抓取内容映射的节点不对,换一下映射节点。

没有线索了那个提示,用完整这句话放到教程首 ...
Fuller 发表于 2016-5-25 10:54
要抓的每个网页都记录一个状态,“等待抓取”和“抓取完”,抓完以后还想重新抓取,那么需要激活它。在这里 ...

[attach]5043[/attach]
<gzh_q1>
        <item>
                <划定范围>
                        <item>
                                <name>
AKOKO曲奇故事
</name>
                                <read>2293</read>
                                <gzh-name>吃惑集结号</gzh-name>
                                <time>2017-1-26</time>
                        </item>
                        <item>
                                <name/>
                                <read>10937</read>
                                <gzh-name>广州饮食汇</gzh-name>
                                <time>1天前</time>
                        </item>
                        <item>
                                <name>


只有H3和A这2个可以做内容映射,我都试过了,第二条的name还是出不来

[attach]5044[/attach][attach]5045[/attach]
检索了2次,每次检索的数量都不一样,第一次是391,少了79个name的内容,第二次是250少了51个name的内容,而实际是有590条,为什么会少?

作者: Fuller    时间: 2017-2-12 10:36
sodme007 发表于 2017-2-12 00:33
AKOKO曲奇故 ...

好奇怪,我测试的可以,你点击“测试”按钮以后,点击输出窗口的“数据规则”页签,我看看你生成的数据规则

作者: sodme007    时间: 2017-2-12 11:32
Fuller 发表于 2017-2-12 10:36
好奇怪,我测试的可以,你点击“测试”按钮以后,点击输出窗口的“数据规则”页签,我看看你生成的数据规 ...

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="/">
<gzh_q1>
<xsl:apply-templates select="//*[@class='news-list' and count(./li[position()>=1 and count(./div[position()=2]/h3/a)>0 and count(.//*[@class='s1'])>0 and count(././/a[contains(@class,'account')]/text())>0])>0]" mode="gzh_q1"/>
</gzh_q1>
</xsl:template>



<xsl:template match="li[position()>=1]" mode="划定范围">
<item>
<name>
<xsl:value-of select="div[position()=2]/h3/a"/>
</name>
<read>
<xsl:value-of select="*//*[@class='s1']"/>
<xsl:value-of select="*[@class='s1']"/>
</read>
<gzh-name>
<xsl:value-of select=".//a[contains(@class,'account')]/text()"/>
</gzh-name>
<time>
<xsl:value-of select="*//*[@class='s2']/text()"/>
<xsl:value-of select="*[@class='s2']/text()"/>
<xsl:if test="@class='s2'">
<xsl:value-of select="text()"/>
</xsl:if>
</time>
</item>
</xsl:template>

<xsl:template match="//*[@class='news-list' and count(./li[position()>=1 and count(./div[position()=2]/h3/a)>0 and count(.//*[@class='s1'])>0 and count(././/a[contains(@class,'account')]/text())>0])>0]" mode="gzh_q1">
<item>
<划定范围>
<xsl:apply-templates select="li[position()>=1]" mode="划定范围"/>
</划定范围>
</item>
</xsl:template>
</xsl:stylesheet>


作者: Fuller    时间: 2017-2-12 15:33
sodme007 发表于 2017-2-12 11:32

[attach]5046[/attach]

有图的时候会影响,那么就给name既做内容映射,也做定位标志映射,就不会受图的影响了

作者: sodme007    时间: 2017-2-12 15:58
Fuller 发表于 2017-2-12 15:33
有图的时候会影响,那么就给name既做内容映射,也做定位标志映射,就不会受图的影响了
...

[attach]5047[/attach]

解决办法是不是
1,通过爬虫群减缓采集速度,为爬虫群设置调度参数,即线索间等待最短时间和线索间等待最长时间。
2,通过清理cookies

这个爬虫要怎么弄啊?

作者: scraper    时间: 2017-2-12 17:55
sodme007 发表于 2017-2-12 15:58
解决办法是不是
1,通过爬虫群减缓采集速度,为爬虫群设置调度参数,即线索间等待最短时间和线索间等待 ...

你说的2点都正确, 还可以加上一条: 换ip
这几条组合起来一起用


作者: Fuller    时间: 2017-2-12 18:07
sodme007 发表于 2017-2-12 15:58
解决办法是不是
1,通过爬虫群减缓采集速度,为爬虫群设置调度参数,即线索间等待最短时间和线索间等待 ...

清理cookie的方法请在教程首页搜索“清理Cookie”

作者: sodme007    时间: 2017-2-12 19:40
Fuller 发表于 2017-2-12 18:07
清理cookie的方法请在教程首页搜索“清理Cookie”

1,通过爬虫群减缓采集速度,为爬虫群设置调度参数,即线索间等待最短时间和线索间等待最长时间。


这个要怎么做?

作者: Fuller    时间: 2017-2-12 20:28
sodme007 发表于 2017-2-12 19:40
1,通过爬虫群减缓采集速度,为爬虫群设置调度参数,即线索间等待最短时间和线索间等待最长时间。

教程首页搜索“放慢速度”





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