在抓取微博的时候,按照相关规则进行内容映射和线索映射后,可以一次抓取40页左右的微博。遇到几个问题想请教:
1.按照规则定义,但是每次抓取的微博都存在内容不全的问题,尝试过很多定义的方法效果却不是很好,有无好的解决方法?
2.翻页抓取,总会碰到微博的小机器人,输完验证码后就无法再抓取了,如何解决 ?
3.如何在metastudio中调取之前定义好的主题呢,想修改之前的抓取规则……?
我的主题名ebola,为什么只能抓两页,求助
你好,在新浪微博抓取信息时,设置样例复制或Freeformat后,转发数和评论数都抓取的是转发数,而不设置这两个,可以正常抓取。我看了一下代码,新浪微博的转发数和评论数的class值和结构基本一样,请问,有什么方法可以解决这个问题吗?谢谢
如果您会阅读XSLT和XPath,那么可以直接阅读 “MAP文件”窗体中的内容,就是一个XSLT规则,可以直接在上面修改,然后点击右边的保存按钮,这是手工修改,这种方法会被下次点击“schema”按钮时用自动生成的规则覆盖掉,每次都要重新手工修改。
还有一种方法,就是自定义xpath,在本章“博客文章”栏目里面有很多关于自定义xpath的说明
最好把主题名告诉我,我加载上看看,如果做的freeformat不合适,或者是网页上有很多@id, @class可能会干扰抓取定位,则可能出现这种问题,最管用的方法是用自定义xpath表达式。当然也可能是ajax选项没有设置
如果遇到验证码,可能抓得太快,可以用crontab.xml指令文件,设置minIdle, maxIdle,每抓一页等待一下
另外,打开AJAX选项,当遇到验证码后,手工输入后还能继续抓取
修改以前定义的规则,请看这篇文章《网页抽取规则失效怎么办》
谢谢指点。最近一次抓取的主题是emilia 和预测2,麻烦您加载后看看问题所在~ thanks!
我查看了这个主题,微博消息内容放在html标签EM下面,整个文本被SPAN分割成好几段了,你这样一段段定义抓取规则不行,因为每个微博内部被分割的数量不一样。你只需定义一个信息属性“内容”,为其设置block特性,在弹出的对话框中选择“文本内容”,这样就能把EM作为数据映射的节点映射给“内容”,就能抓完整的内容了。具体参看文章《采集网页文字内容片断》
非常感谢哈,正在看这篇文章明天会试着重新抓取。还有个小问题想请教一下,因为我要抓取60天的微博,而每一次只能抓一天的微博,那是不是就得定义60次然后抓取60次呢……
高级搜索里面,可以设置搜索的时间段,可以到小时这个级别,用这个高级搜索,设置了搜索条件以后,把他的url地址拷贝下来,可以手工为其生成线索,在http://www.metacamp.cn/datastore/manageclue.htm 网页,找到你的主题,在这个主题下把每个url地址输入。如果要自动大量生成线索,就需要企业版功能
ebola
我的主题名ebola,为什么只能抓两页,求助
新浪微博抓取出现问题
你好,在新浪微博抓取信息时,设置样例复制或Freeformat后,转发数和评论数都抓取的是转发数,而不设置这两个,可以正常抓取。我看了一下代码,新浪微博的转发数和评论数的class值和结构基本一样,请问,有什么方法可以解决这个问题吗?谢谢
自定义xpath可以微调抓取规则
如果您会阅读XSLT和XPath,那么可以直接阅读 “MAP文件”窗体中的内容,就是一个XSLT规则,可以直接在上面修改,然后点击右边的保存按钮,这是手工修改,这种方法会被下次点击“schema”按钮时用自动生成的规则覆盖掉,每次都要重新手工修改。
还有一种方法,就是自定义xpath,在本章“博客文章”栏目里面有很多关于自定义xpath的说明
解决抓取微博问题
最好把主题名告诉我,我加载上看看,如果做的freeformat不合适,或者是网页上有很多@id, @class可能会干扰抓取定位,则可能出现这种问题,最管用的方法是用自定义xpath表达式。当然也可能是ajax选项没有设置
如果遇到验证码,可能抓得太快,可以用crontab.xml指令文件,设置minIdle, maxIdle,每抓一页等待一下
另外,打开AJAX选项,当遇到验证码后,手工输入后还能继续抓取
修改以前定义的规则,请看这篇文章《网页抽取规则失效怎么办》
谢谢指点。最近一次
谢谢指点。最近一次抓取的主题是emilia 和预测2,麻烦您加载后看看问题所在~
thanks!
设置block特性
我查看了这个主题,微博消息内容放在html标签EM下面,整个文本被SPAN分割成好几段了,你这样一段段定义抓取规则不行,因为每个微博内部被分割的数量不一样。你只需定义一个信息属性“内容”,为其设置block特性,在弹出的对话框中选择“文本内容”,这样就能把EM作为数据映射的节点映射给“内容”,就能抓完整的内容了。具体参看文章《采集网页文字内容片断》
还有一个小问题
非常感谢哈,正在看这篇文章明天会试着重新抓取。还有个小问题想请教一下,因为我要抓取60天的微博,而每一次只能抓一天的微博,那是不是就得定义60次然后抓取60次呢……
利用微博的高级搜索选项
高级搜索里面,可以设置搜索的时间段,可以到小时这个级别,用这个高级搜索,设置了搜索条件以后,把他的url地址拷贝下来,可以手工为其生成线索,在http://www.metacamp.cn/datastore/manageclue.htm 网页,找到你的主题,在这个主题下把每个url地址输入。如果要自动大量生成线索,就需要企业版功能