刚YY问我有没有百度文库帐号,希望下载里面一个word文档。但得5个积分。。我也没有啊。最开始是试图搜索其他网络资源。docin文档有破解软件直接就可以得到了。但还是搜不到。然后就想……提交一个请求到百度文库之后,百度文库已经把相应的内容响应返回给客户端了。然后在页面上是以flash的方式展示出来滴。于是就试图找到那个flash文件。到浏览器的临时文件夹下面,为了方便。在提交请求之前先扇出以前的临时文件,然后提交请求。在去临时文件目录查找刚刚这一次请求产生的临时文件。不过看了下,没有flash文件。只有两个相关连滴,如图所示:
然后想了下,应该就是这个文件是保存了相应的内容了。猜想估计经过百度处理,进行加密啊之类的。展示在html页面的时候再逆向解析出来。结果……居然没有加密。直接copy出来。用记事本之类的文本工具就能现实出来了:
这样一个json格式{“totalPage”:”4″,”fromPage”:”1″,”toPage”:”4″}数据,是用来展示的时候解析时调用的吧。
word的就这样应该能搞定了。不过pdf啊之类的还有待研究……
——————————————————————————————————————–
刚刚又随便搜索了一个word文档,测试了下。这个word文档页数较多了。然后临时文件产生的确实就是我想象当中的swf的flash文件。对应的intenet地址不是http://txt.……啥开头,而是 http://ai.……啥开头滴。copy一份出来试图通过flash player 打开,没有想象当中那么容易就得到内容了。打开后,白板。啥东西都没有,这还是百度做了限制吧。可能判断你的请求url啊,之类一系列参数进行判断,确保你是在百度文库的那个页面才将内容解析出来供你看。
所以……我刚才摸索出来的方法限制与文档页数较少的。:-)。当你急需要文档页数较多时,就老老实实攒积分,付分下载吧……
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In fact,还有一种方法,就是利用百度、google的搜索引擎的快照功能,在搜索引擎结果里面,点击快照功能,然后就可以把内容复制出来了。只是也没格式,看起来比较乱……