扒网站php,php批量扒取网站内容

最近发现了一个“小气”的学习站点。网站内容竟然不让复制,这样搞,怎么让我们考试的时候弄小抄,难不成要一个字一个字的去打不成。所幸的是咱是搞技术的,这点问题还是难不倒的,你不让复制刚好,这下我还懒得麻烦呢。直接搞个脚本把这一课的内容全扒取下来看岂不更方便。

说搞就搞,先是看源代码。不过网页禁止了右键,点右键有如下提示:

2a59b8f751ee89b7053a6965f251a8ea.png

这个倒不难,查看网页源代码的方法太多了,不知道的可以网上找找吧。查看到了,源代码,发现没找页面中的内容未在源代码中显示。接着拿出httpwatch抓包分析,在其中的另外一个链接里找到页面源代码,不过源代码是加密过的。如下:

967291291be4e71bfe1ff398bea3301a.png

不过这个加密有点菜,里面已经明明白的写着是base64加密了。这个解码并不难,linux系统自带的base64工具就能完成:

[root@web20 php]# base64 --help

Usage: base64 [OPTION] [FILE]

Base64 encode or decode FILE, or standard input, to standard output.

-w, --wrap=COLS Wrap encoded lines after COLS character (default 76).

Use 0 to disable line wrapping.

-d, --decode Decode data.

-i, --ignore-garbage When decoding, ignore non-alphabet characters.

--help Display this help and exit.

--version Output version information and exit.

如果[文件]缺省,或者[文件]为 - ,则读取标准输入。

The data are encoded as described for the base64 alphabet in RFC 3548.

Decoding require compliant input by default, use --ignore-garbage to

attempt to recover from non-alphabet characters (such as newlines) in

the encoded stream.

base64 -d 文件名就行了。不过解码后发现,解出的结果是url化的。得到的结果如下:%20%20%5B%E8%AF%86%E8%AE%B0%5D%E4%BC%9A%E8%AE%A1%E7%9A%84%E6%B6%B5%E4%B9%89%E6%98%AF%E4%BB%80%E4%B9%88%EF%20%20

看到这个结果是不是又犯难了,其时这个时候应该感到高兴才是。因为结果已经出来一半了。这个得出的结果不正是和在url里进行汉字搜索得到的的URL结果一样吗?

如:我在hao123的百度搜索里找"测试",得到的页面url是

http://www.baidu.com/s?word=%B2%E2%CA%D4&tn=sitehao123

测试两个汉字在url中就变成了%B2%E2%CA%D4 ,知道原理了。解码还不是很简单。php中有个函数urldecode就是干这个用的。下面列出来我全部的url代码:

for ($i=18291; $i<=18788 ;$i++ ){

$content = file_get_contents("http://www.XXX.com/test.php?wiki_id=".$i);

//echo $content;

$spwt1=explode("问题:",$content);

$spwt2=explode('));

$spdn=explode("答案:",$spwt2[1]);

//echo $spwt2[0];

//echo $spdn[1];

preg_match('/base64decode("(.*?)"/',$spwt2[0],$matchesw);

$wen=urldecode(base64_decode($matchesw[1]));

echo $wen;

echo "n";

echo "n";

preg_match('/base64decode("(.*?)"/',$spdn[1],$matchesd);

$da=urldecode(base64_decode($matchesd[1]));

echo $da;}

?>

此外为了我出于对那个站点的知识产权的保护,把他的URL给换成了http://www.XXX.com/test.php 。(毕竟人家也是一点点做上去的也不容易。)刚好我服务器上也有php环境,直接运行php test.php。结果非常喜人,一会儿功夫,这一课目的内容全出来了。

ok,放到word里再重新编辑下,打印出来看,多爽!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值