laop 2008-4-9 00:00
使用js调用内容文件网站的采集方法教程
[color=red]事情起因:[/color][url=http://bbs.locoy.com/spider-24620-1-1.html]http://bbs.locoy.com/spider-24620-1-1.html[/url]
[color=red]原帖内容:[/color]如果所有网站都这样,用什么采集器也没用啊!!!
大家看看吧,估计任何采集器也不能够采集成功啊!
[url=http://www.sooopu.com/html/19/19207.html]http://www.sooopu.com/html/19/19207.html[/url]
直接是败了,原想用二级转向采集它的这个[url=http://www.sooopu.com/html/js/19/19207.js]http://www.sooopu.com/html/js/19/19207.js[/url],却发现js文件是不能够采集的。
你们说说看,他这个防采集是不是绝啦?
+++++++++++++++++
[color=red]解决办法:[/color]看到这个帖子,就去尝试采集了一下,结果发现采集不了,便联系了火车,火车测试后说是由于“本来js是不下载的 ”,随后,修改了程序,并重新编译了LocoyCommon.dll文件,并发给了我,我使用了新的LocoyCommon.dll,sooopu的曲谱图片顺利采集下来了。LocoyCommon.dll 见附件。这个dll是火车发给我的,并非官方正式发布,也不是一次升级,也没有经过测试,仅仅为了解决采集sooopu而做的,需要或者想试用的朋友,为避免发生意外,建议,另建目录新装个火车,覆盖同名dll文件。
+++++++++++++++++
采集sooopu,它的标题、演唱者、类别、格式等都在默认页面,就不多说了。它的曲谱图片地址保存在默认页面调用的一个js文件中,比较默认页面地址和js文件地址差异,采用“依据规则对默认页地址替换生成地址”方式添加新的采集页面,操作方法如下,有类似情况的朋友可以参考操作:
点击“采集内容规则” [attach]5333[/attach],单击打开 “同时采集多页面?” ,弹出“添加同时采集页面”设置对话框,页面名称,随便填,自己明白即可,比如”sooopu曲谱图片“,下面是新的”页面地址“生成方式的设置,在这里我们选择使用第一种方法——”依据规则对默认页地址替换生成地址“,根据下面的说明,”注:使用第一种方法时该处使用正则替换“,我们需要在”将“后面的文本框中填入默认页面地址,”替换为“后面的文本框自然就是新的,需要采集的页面地址了。比较原html文件地址和需要采集的js文件地址,我们需要替换的是两个数字,19和19207,我很菜,不懂什么正则表达式,这里有个教程,《正则表达式30分钟入门教程》[url=http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm]http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm[/url] ,单纯的数字比较简单, 比如要匹配19, [\d])([\d] ,[\d]{2} ,[\d]+? 好像都可以 ,那么原来的地址就是:[url=http://www.sooopu.com/html/]http://www.sooopu.com/html/[/url] ([\d]) ([\d])/ ([\d]+?).html ,新地址用$1,$2,$3分别代替原地址上的正则匹配的内容,[url=http://www.sooopu.com/html/js/$1$2/$3.js]http://www.sooopu.com/html/js/$1$2/$3.js[/url]
保存后返回。[attach]5332[/attach]进入需要编辑的标签编辑框,点击”所属页面“后的下拉菜单,选择刚刚建立的”sooopu曲谱图片“新页面替换规则,[attach]5331[/attach]再对照新页面的源代码,过滤出内容标签就好了。[attach]5330[/attach][attach]5329[/attach]
[attach]5334[/attach][attach]5335[/attach]\
xiongyujie37 2008-4-9 00:38
潜力贴
土地招租
孤魂 2008-4-9 18:41
目前发布的版本还不可以采集实体JS内容,目前只是内部测试发布的升级文件
onceeven 2008-4-10 23:02
非常感谢,我一直在求助这个问题。借鉴你的思路,我也试试
walterhj 2008-4-20 12:06
我要采集论坛里主帖的内容,但这个内容是由脚本来显示的.
详细说明:
1.地址列表页面:
[url]http://club.news.sohu.com/l-minjian-0-1-0-0.html[/url]
1.内容页面:
[url]http://bbs1.people.com.cn/postDetail.do?boardId=2&view=1&id=85452847[/url]
[url]http://bbs1.people.com.cn/postDetail.do?boardId=2&view=1&id=85413156[/url]
.
.
.
.
[url]http://bbs1.people.com.cn/postDetail.do?boardId=2&view=1&id=85455093[/url]
(这些地址已经采集到了).
2.问题:
查看内容页面的源码发现主帖内容是调用new TextParser('/posts/05/17/E8/2F/content_html.txt', 'content_85452847') 来显示的,经过分析原来最终的内容页面地址是:[url=http://bbs1.people.com.cn]http://bbs1.people.com.cn/posts/05/17/E8/2F/content_html.txt[/url],即首页地址+js脚本中的地址.
请问怎样采集这个正文.有人说在多页采集中设置规则,具体怎么做?期待您的解答,谢谢!
(我的积分不足以发表新帖,只能贴在回复中,希望能够得到高手的帮助)
lxfh985ii 2008-5-24 09:27
就想明白一个问题:是不是需要更换DLL文件??如果不更换是否还是采不出来???