Heim >Backend-Entwicklung >PHP-Tutorial >PHP:采集程序

PHP:采集程序

WBOY
WBOYOriginal
2016-06-06 20:45:03947Durchsuche

前几天接了一个小项目,具体需求
可以任意指定一个网站域名,然后就可以使用自己的域名进行访问,网站结构什么的都跟对方的一模一样
显然,这是一个小偷程序吧。
实现思路:对于一般的静态网址(比如:/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

用火车头采集吧,这个很强大

写个简单的路由,然后匹配文件就行了

反向代理

PHP:采集程序

CURL抓取页面内容,然后preg_match_all匹配正则表达式。得到页面上指定的内容。

先采集再分配目录不好吗?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn