最近在制作一个网站:字铺
www.fontp.com 问题随之而来,字体源除了自己原有的,还需要增加,于是在网上看到一个不错的网站,其字体都较新,于是开始想办未能弄到手。
发现其规格如下:一级列表-->二级列表--->字体信息页-->(下载地址)--->最终下载页-->实际文件地址页(被SCRIPT着)--->分析出来后得到迅雷实际地址
这也就是说无论你是多页采集还是二级采集,都没办法分析到最终的迅雷下载地址,也就当然没办法直接下载到其迅雷地址隐藏的RAR/EXE地址,如何处理?
在深入分析之后,发现下面的方法有一定的可行性,即分二次采集。
1。采集到下载实际文件地址页中的文件地址,得到一个类似:
【content_1】: /plus/download.php?open=1&aid=&cid=&link=L3VwaW1nL3NvZnQvUE9QLzEvMV8wODA3MjYwNzU3MzMuemlw&flag=1
的地址,我们要保存这个地址到一个文件,可以利用火车的:用迅雷下载下载软件(钩上),这样我们得到一个包括了“地址|引用页”的文件(LST)列表,这当然不是我们所想要的,为什么?
这时我们得到:字体-1-0.html
1 pop字体数字类 / 矢量字体 字体下载 20087240435462477801.php?open=1&aid=&cid=&link=L3VwaW1nL3NvZnQvUE9QL9fWzOXJ6LzGMjEuemlw&flag=1
2 pop字体英文字母类 / 矢量字体 字体下载 20087240435534277801.php?open=1&aid=&cid=&link=L3VwaW1nL3NvZnQvUE9QL9fWzOXJ6LzGMjAuemlw&flag=1
...
...
分析一下:这段迅雷地址只有点击(左键)时才会读取并打开迅雷下载RAR文件,而你用迅雷下载所有链接得到的不外乎是一堆download.htm文件,里面大致是:
<script src='http://pstatic.xunlei.com/js/webThunderDetect.js'></script><script>OnDownloadClick('thunder://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=','',location.href,'12680')</script>
很明显我们不可能一个个点下载,这样更不利于录入资料对不?
2。第二次采集。将字体-1-0.html放到IIS下一个网站,比如127.0.0.1/字体-1-0.html,打开火车,采集这个HTML列表,设置为深度0后,我们可以顺利采集到地址如:
<script src='http://pstatic.xunlei.com/js/webThunderDetect.js'></script><script>OnDownloadClick('thunder://XXXXXXXXXXXXXXXXXXXX=','',location.href,'12680')</script>
这样的文件,OK。这样我们就得到最终的文件,我们只要获得其中的THUNDER部分。即:
【内容】: thunder://XXXXXXXXXXXXXXXXXXo=
3。最终我们得到:
【序号】3
【源地址】thunder://XXXXXXXXXXXXXXXXXXXXXXXL9fWzOXJ6LzGMTguemlwWlo=
【实际地址】http://www.XXXXX.com/XXXsoft/XXX/XXXX18.zip
【保存地址】C:/Documents and Settings/Administrator/桌面/火车/Data/14-迅雷本地/OtherFile/XXXXXXXXXX.zip
这下我们下载到了所有的实际文件,而不是用手去点。
4。最后我们观察所有的文件的规则,得到其规则后,我们可以利用其发布为TXT为HTM本地文件方式,这样也是最实际的,选择是否“倒序”,OK。这下子所有的ZIP(RAR/EXE)地址就被保存下来。
5。手工插入到你的后台软件地址中吧。
(汗!这是唯一的办法?)