HLSEUC
为什么我只能抓一页半的内容 就自动结束了??不能继续翻页呢? 结束时的2个标志为 FLINE 和FIN
首先,在用MetaStudio定义新浪微博抓取规则的时候,要设置AJAX抓取模式。我看到您已经设置了
另外,没有翻页,说明线索抓取规则不对,我看到您的线索映射操作基本正确,但是需要设置一下定位首选项,选择MetaStudio菜单“配置”-〉“首选项”,选择线索定位那个tab窗口,设置成“偏好class”。
其次,用DataScraper执行抓取操作时,需要设置滚屏。因为新浪微博显示每个博主的页面的时候,总是没有加载所有微博消息,只有滚屏后才能加载显示。我不知道您是否使用了滚屏
再次,新浪微博使用javascript代码实现翻页,我看到您采用了记号线索映射,将@class=W_pages这个DIV映射给翻页线索,本来这样操作是正确的,DataScraper会在这个DIV下找到合适的A超链接,模拟点击进行翻页。但是,有些网页,用javascript实现翻页,而且javascript事件处理函数不是挂在A上,而是A下面的SPAN上,在这种情况下,需要改用这个SPAN作线索映射。
按照上面的建议进行实验,应该抓取成功。
感谢您的回答 我按照你说的改了一下 线索定位改为偏好class 抓取的时候是滚屏抓的 参数为30 ,2 span节点做了线索映射
修改之后就只能抓一页了
还有一个问题是 我想抓的是微薄的转发评论数 和转发的微博的转发和评论数 但是每次重新加载后 这两个转发和评论的映射就变成一样的了 这个应该怎么解决?
如果网络速度很慢,网页加载速度很慢,DataScraper有可能等不及就停止了。必须设置lazyCycle参数,但是,目前还不能在界面上设置这个参数,只能用crontab.xml文件,启动周期性自动抓取。
另外,需要选择DataScraper菜单“配置”-〉“全屏”显示,让屏幕尽量大,这样滚屏次数就会减少。
如果要抓取转播情况,您这样定义信息结构也可以,以前我们也这样定义,但是,如果博主不断发微博消息,不一定有合适的样例消息,因为排在第一位置的消息不一定是转播消息,所以,创建和修改信息结构很麻烦。
后来,我们就不再同时抓取转播消息,而是到每个微博消息页面上抓取转播消息。
如果您一定要一次就同时抓转播消息和被转播消息,必须建立一个树状信息结构,将被转播消息放到一个子树上。另外,转播数和评论数都要用自定义XPath规则,否则,都抓取到被转播消息的转播数和评论数
自定义XPath 具体是怎么做的 有没有什么教程参考??
在本站搜索"自定义XPath"可以看到一些教程
如题 我换了个主题为HL_2 这个主题很简单 主要是为了试验翻页的 我换了相对线索的方法也还是不行 我的网速应该还算比较快的 但还是同样的问题 只能抓一页半的数据
如果能抓一页半,说明翻页规则是正确的。一定要采用周期性抓取方式,因为lazyCycle只能在周期性抓取模式下设置。参看:http://www.gooseeker.com/cn/node/technology/files/pss
我在.datascraper文件夹下建了crontab.xml文件
60000
12
false
100
-1
0
30
2
帮我看看写的有什么问题没?
用Firefox打开,看看有没有错误提示。我感觉你写的这个不是XML文件
新浪微博网页抓取方式
首先,在用MetaStudio定义新浪微博抓取规则的时候,要设置AJAX抓取模式。我看到您已经设置了
另外,没有翻页,说明线索抓取规则不对,我看到您的线索映射操作基本正确,但是需要设置一下定位首选项,选择MetaStudio菜单“配置”-〉“首选项”,选择线索定位那个tab窗口,设置成“偏好class”。
其次,用DataScraper执行抓取操作时,需要设置滚屏。因为新浪微博显示每个博主的页面的时候,总是没有加载所有微博消息,只有滚屏后才能加载显示。我不知道您是否使用了滚屏
再次,新浪微博使用javascript代码实现翻页,我看到您采用了记号线索映射,将@class=W_pages这个DIV映射给翻页线索,本来这样操作是正确的,DataScraper会在这个DIV下找到合适的A超链接,模拟点击进行翻页。但是,有些网页,用javascript实现翻页,而且javascript事件处理函数不是挂在A上,而是A下面的SPAN上,在这种情况下,需要改用这个SPAN作线索映射。
按照上面的建议进行实验,应该抓取成功。
还是同样问题
感谢您的回答
我按照你说的改了一下
线索定位改为偏好class
抓取的时候是滚屏抓的 参数为30 ,2
span节点做了线索映射
修改之后就只能抓一页了
还有一个问题是 我想抓的是微薄的转发评论数 和转发的微博的转发和评论数
但是每次重新加载后 这两个转发和评论的映射就变成一样的了 这个应该怎么解决?
要使用lazyCycle参数
如果网络速度很慢,网页加载速度很慢,DataScraper有可能等不及就停止了。必须设置lazyCycle参数,但是,目前还不能在界面上设置这个参数,只能用crontab.xml文件,启动周期性自动抓取。
另外,需要选择DataScraper菜单“配置”-〉“全屏”显示,让屏幕尽量大,这样滚屏次数就会减少。
如果要抓取转播情况,您这样定义信息结构也可以,以前我们也这样定义,但是,如果博主不断发微博消息,不一定有合适的样例消息,因为排在第一位置的消息不一定是转播消息,所以,创建和修改信息结构很麻烦。
后来,我们就不再同时抓取转播消息,而是到每个微博消息页面上抓取转播消息。
如果您一定要一次就同时抓转播消息和被转播消息,必须建立一个树状信息结构,将被转播消息放到一个子树上。另外,转播数和评论数都要用自定义XPath规则,否则,都抓取到被转播消息的转播数和评论数
自定义xpath
自定义XPath 具体是怎么做的 有没有什么教程参考??
在本站搜索"自定义XPath"
在本站搜索"自定义XPath"可以看到一些教程
还是不能翻页
如题
我换了个主题为HL_2
这个主题很简单 主要是为了试验翻页的 我换了相对线索的方法也还是不行 我的网速应该还算比较快的
但还是同样的问题 只能抓一页半的数据
采用自动化周期性抓取方式
如果能抓一页半,说明翻页规则是正确的。一定要采用周期性抓取方式,因为lazyCycle只能在周期性抓取模式下设置。参看:http://www.gooseeker.com/cn/node/technology/files/pss
crontab.xml
我在.datascraper文件夹下建了crontab.xml文件
60000
12
false
100
-1
false
0
30
2
帮我看看写的有什么问题没?
用Firefox打开试试
用Firefox打开,看看有没有错误提示。我感觉你写的这个不是XML文件