laop 发表于 2008-4-9 00:00:25

使用js调用内容文件网站的采集方法教程

事情起因:http://bbs.locoy.com/spider-24620-1-1.html
原帖内容:如果所有网站都这样,用什么采集器也没用啊!!!
大家看看吧,估计任何采集器也不能够采集成功啊!
http://www.sooopu.com/html/19/19207.html
直接是败了,原想用二级转向采集它的这个http://www.sooopu.com/html/js/19/19207.js,却发现js文件是不能够采集的。
你们说说看,他这个防采集是不是绝啦?
+++++++++++++++++
解决办法:看到这个帖子,就去尝试采集了一下,结果发现采集不了,便联系了火车,火车测试后说是由于“本来js是不下载的 ”,随后,修改了程序,并重新编译了LocoyCommon.dll文件,并发给了我,我使用了新的LocoyCommon.dll,sooopu的曲谱图片顺利采集下来了。LocoyCommon.dll 见附件。这个dll是火车发给我的,并非官方正式发布,也不是一次升级,也没有经过测试,仅仅为了解决采集sooopu而做的,需要或者想试用的朋友,为避免发生意外,建议,另建目录新装个火车,覆盖同名dll文件。
+++++++++++++++++
采集sooopu,它的标题、演唱者、类别、格式等都在默认页面,就不多说了。它的曲谱图片地址保存在默认页面调用的一个js文件中,比较默认页面地址和js文件地址差异,采用“依据规则对默认页地址替换生成地址”方式添加新的采集页面,操作方法如下,有类似情况的朋友可以参考操作:
点击“采集内容规则”,单击打开 “同时采集多页面?” ,弹出“添加同时采集页面”设置对话框,页面名称,随便填,自己明白即可,比如”sooopu曲谱图片“,下面是新的”页面地址“生成方式的设置,在这里我们选择使用第一种方法——”依据规则对默认页地址替换生成地址“,根据下面的说明,”注:使用第一种方法时该处使用正则替换“,我们需要在”将“后面的文本框中填入默认页面地址,”替换为“后面的文本框自然就是新的,需要采集的页面地址了。比较原html文件地址和需要采集的js文件地址,我们需要替换的是两个数字,19和19207,我很菜,不懂什么正则表达式,这里有个教程,《正则表达式30分钟入门教程》http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm    ,单纯的数字比较简单, 比如要匹配19, [\d])([\d] ,[\d]{2} ,[\d]+?    好像都可以 ,那么原来的地址就是:http://www.sooopu.com/html/ ([\d]) ([\d])/ ([\d]+?).html   ,新地址用$1,$2,$3分别代替原地址上的正则匹配的内容,http://www.sooopu.com/html/js/$1$2/$3.js
保存后返回。进入需要编辑的标签编辑框,点击”所属页面“后的下拉菜单,选择刚刚建立的”sooopu曲谱图片“新页面替换规则,再对照新页面的源代码,过滤出内容标签就好了。
\

xiongyujie37 发表于 2008-4-9 00:38:31

潜力贴

土地招租

飛越無限 发表于 2008-4-9 00:43:14

:ali11ls 我昨天就测试了

7451 发表于 2008-4-9 00:45:09

哈哈 这种贴 顶了

孤魂 发表于 2008-4-9 18:41:50

目前发布的版本还不可以采集实体JS内容,目前只是内部测试发布的升级文件

soarb 发表于 2008-4-9 20:21:06

哈哈!收藏了

onceeven 发表于 2008-4-10 23:02:42

非常感谢,我一直在求助这个问题。借鉴你的思路,我也试试

zzwl 发表于 2008-4-11 15:21:19

不错!看看学习下

monface 发表于 2008-4-13 13:33:07

不错,又学到一点,谢谢

小齐 发表于 2008-4-13 23:12:08

教程帖 好
页: [1] 2
查看完整版本: 使用js调用内容文件网站的采集方法教程