【本人拙作】仿网站必备“扒皮”小工具(php脚本)

本文介绍了一位新手使用PHP脚本批量下载网页CSS中的图片的过程,包括遇到的问题、解决方法以及最终实现的功能。尽管起初目标是全自动下载,但通过手动输入CSS地址的方式实现了基本功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大牛莫喷,新手共同交流,一起进步吧。
主要是自己刚刚有个思路,代码冗余肯定超级严重了,虽然我已经修改了很多。
因为扒网页css中图片不好批量下载,上个星期老师说可以尝试写php脚本。周末,我就试了试,中间走了不少弯路,最后豁然开朗。
比如又是判断"../"的次数,然后再循环array_pop,又把次数再取出来,然后和域名做拼接,最后发现
类似于“192.168.190.47/bbs/forumdata/cache/../../images/default/bodybg.g_i_f”这样的网址根本不用做修改,能直接访问....
虽然最初本想写的是全自动的“输入网址”即可下载的。
但是发现如果是纯php脚本的话,对于菜鸟的我来说2天时间略为不够。
眼看周末就要完毕了,咱们要使用这个工具的人,基本都是知道查看源码的,所以不如让用户自己输入css地址得了。
(如果配合javascript来做应该就简单很多。下周周末再写一个完整的全自动版本的吧,呵呵,全当自娱自乐啦)

下面将代码贴上,(写的极为不规范,只顾了自己推倒,变量乱命名,木有意义,注释也偏少,而且刚刚发帖的时候才发现函数开头的说明的变量,在最后修改的时候都删的删,改的改,注释变的意义不大了)

文件夹结构为:
    |--indxe.php
    |--include
        |--get_base_url.php
        |--get_css_url.php
        |--downcss.php
        |--get_img_url.php
        |--mkdir_for_img.php
        |--saveimg.php
也许你开始还不懂,看完这个文件结构,思路就已经很清晰了吧!
indxe.php
  1. <!doctype html>
  2. <html>
  3.     <head>
  4.         <title>downloadPicfromCSS</title>
  5.         <meta http-equiv="content-type" content="text/html;charset=utf-8" />
  6.     </head>
  7.     <body>
  8.     <table>
  9.         <div style="margin:0 auto;margin-top:10px;width:640px;border:1px solid #aaa;font-size:14px;line-height:24px;padding:10px">
  10.             <tt style="font-weight:800;line-height:28px">使用说明:</tt><br/>
  11.             <tt>输入要下载的css文件的地址</tt><br/>
  12.             <tt>下载的文件保存在本程序的web目录下</tt><br/>
  13.             <tt><font color="red">坑爹提示本脚本为php脚本需要本机安装有服务器环境才可使用-_-|||</font></tt><br/>
  14.             <tt> 如发现BUG -_-!告知下俺&nbsp&nbsp<a href="http://192.168.190.47/"><font color="#bbbbbb">更多废话请猛击</font></tt><br/>
  15.             <tt style="font-size:12px;padding-left:560px;">--煮机哥呈上</tt>
  16.         
  •         
  •         <div style="margin:0 auto;margin-top:10px;background:#eee;height:80px;width:660px;text-align:center;border:1px solid #aaa;">
  •             <div style="padding-top:25px"><form action="" method="post" name="myform">
  •                 <input type="text" name="weburl" value="" onfocus="fun()" />
  •                 <button>go</button>
  •             
</form>
  •         
  •         
  •         <div style="overflow:scroll;font-size:14px;margin:0 auto;margin-top:10px;height:300px;width:640px;border:1px solid #aaa;line-height:20px;padding:10px">
  •             <?php
  •                 echo '<pre>';
  •                 if($_POST["weburl"]!=Null){
  •                     //1.下载css
  •                     $url=$_POST["weburl"];
  •                     require_once("include/downcss.php");
  •                     if(!file_exists("web")){
  •                         mkdir("web",0777,true);
  •                     }
  •                     $filename="web/css.txt";
  •                     downcss($url,$filename);
  •                     //2.获取css中图片保存的相对路径
  •                     require("include/get_base_url.php");
  •                     $baseurl=getbaseurl($url);
  •                     //3.获取本页面的css中的图片地址和导入式css中的图片地址
  •                     require("include/get_img_url.php");
  •                     $img=getimgurl($filename,$baseurl);
  •                     //4.为下载图片做准备,创建文件夹
  •                     require("include/mkdir_for_img.php");
  •                     mkdirforimg($img);
  •                     //5.下载图片保存到原网页中“相同的路径”
  •                     require("include/saveimg.php");
  •                     saveimg($img);
  •                 }    
  •             ?>
  •         
  •     </body>
  • </html>
  • 未完
 
阅读(33) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

wgzlilu2012-12-03 14:33:17

LAMP兄弟连 是说Linux的吧……

评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值