Heim >Backend-Entwicklung >PHP-Tutorial >PHP:采集程序
前几天接了一个小项目,具体需求
可以任意指定一个网站域名,然后就可以使用自己的域名进行访问,网站结构什么的都跟对方的一模一样
显然,这是一个小偷程序吧。
实现思路:对于一般的静态网址(比如:/2014/06/19/index.html
)
当第一次访问的时候(比如:www.xxx.com/2014/06/19/index.html
)
就去采www.sohu.com/2014/06/19/index.html
网页
然后在自己的的网站根目录下,创建相应的文件夹和文件(2014->06->19->index.html
)
但是对于动态网址
比如:/index.php?type=news
,要知道文件夹名或文件名中是不能包含一些特殊字符的
对于此,可以将一些特殊字符进行替换
但是,现在客户又提出了一些奇葩要求,比如:需要采集下来的网站结构不要跟对方一样,最好自定义自己的网址结构
比如:www.sohu.com/2014/06/19/index.html
结果:www.xxx.com/2014_06_19_index.html
而不是:www.xxx.com/2014/06/19/index.html
对此,大家有什么比较好的实现方案吗?
或者有功能比较强大的开源程序了吗?
前几天接了一个小项目,具体需求
可以任意指定一个网站域名,然后就可以使用自己的域名进行访问,网站结构什么的都跟对方的一模一样
显然,这是一个小偷程序吧。
实现思路:对于一般的静态网址(比如:/2014/06/19/index.html
)
当第一次访问的时候(比如:www.xxx.com/2014/06/19/index.html
)
就去采www.sohu.com/2014/06/19/index.html
网页
然后在自己的的网站根目录下,创建相应的文件夹和文件(2014->06->19->index.html
)
但是对于动态网址
比如:/index.php?type=news
,要知道文件夹名或文件名中是不能包含一些特殊字符的
对于此,可以将一些特殊字符进行替换
但是,现在客户又提出了一些奇葩要求,比如:需要采集下来的网站结构不要跟对方一样,最好自定义自己的网址结构
比如:www.sohu.com/2014/06/19/index.html
结果:www.xxx.com/2014_06_19_index.html
而不是:www.xxx.com/2014/06/19/index.html
对此,大家有什么比较好的实现方案吗?
或者有功能比较强大的开源程序了吗?
file_get_contents() 函数获取网页源码
http://www.w3school.com.cn/php/func_filesystem_file_get_contents.asp
strtok() 函数对文件名进行处理
http://www.w3school.com.cn/php/func_string_strtok.asp
用火车头采集吧,这个很强大
写个简单的路由,然后匹配文件就行了
反向代理
CURL抓取页面内容,然后preg_match_all匹配正则表达式。得到页面上指定的内容。
先采集再分配目录不好吗?