PHP 采集获取指定网址的内容


Posted in PHP onJanuary 05, 2010

参考别人想法变成自己的想法,你会发现慢慢下来以后你就拥有了临时解决很多问题的思路与方法。

<?php 
/* 
功能:获取页面内容,存储下来阅读; lost63 
*/ 
Class GetUrl{ 
var $url; //地址 
var $result; //结果 
var $content; //内容 
var $list; //列表 
function GetUrl($url){ 
$this->url=$url; 
$this->GetContent(); 
$this->GetList(); 
$this->FileSave(); 
//print_r($this->list[2]); 
} 
private function GetContent(){ 
$this->result=fopen($this->url,"r"); 
while(!feof($this->result)){ 
$this->content.=fgets($this->result,9999); 
} 
} 
private function GetList(){ 
preg_match_all('/<a(.*?)href="(.*?)">(.*?)<\/a>/',$this->content,$this->list); 
$this->list[2]=array_unique($this->list[2]); //移除相同的值 
while(list($key,$value)=each($this->list[2])){ 
if(strpos($value,".html")==0||strpos($value,"jiaocheng")==0){ 
unset($this->list[2][$key]); 
}else{ 
$this->list[2][$key]=substr($value,0,strpos($value,".html")).".html"; //去掉不需要的标签 
} 
} 
} 
private function FileSave(){ 
foreach($this->list[2] as $value){ 
$this->url=$value; //重新赋值 
$this->content=null; 
$this->GetContent(); //提取内容 
preg_match_all('/<title>(.*?)<\/title>/',$this->content,$files); //取标题 
$filename=$files[1][0].".html"; //存储名 
$content=$this->str_cut($this->content,'http://pagead2.googlesyndication.com/pagead/show_ads.js','<div id="article_detail">'); 
$file=fopen($filename,"w"); 
fwrite($file,$content); 
fclose($file); 
echo $filename."保存 OK<br>\n"; 
} 
} 
function str_cut($str ,$start, $end) { 
$content = strstr( $str, $start ); 
$content = substr( $content, strlen( $start ), strpos( $content, $end ) - strlen( $start ) ); 
return $content; 
} 
} 
$w=new GetUrl("http://www.ijavascript.cn/jiaocheng/javascript-jiaocheng-352.html"); 
?>
PHP 相关文章推荐
比较全的PHP 会话(session 时间设定)使用入门代码
Jun 05 PHP
PHP 程序员应该使用的10个组件
Oct 31 PHP
php下统计用户在线时间的一种尝试
Aug 26 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
Aug 08 PHP
php实现的CSS更新类实例
Sep 22 PHP
php面象对象数据库操作类实例
Dec 02 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Mar 21 PHP
分享一个漂亮的php验证码类
Sep 29 PHP
PHP集成环境XAMPP的安装与配置
Nov 13 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
Oct 15 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
Oct 27 PHP
swoole锁的机制代码实例讲解
Mar 04 PHP
php 无极分类(递归)实现代码
Jan 05 #PHP
php 文件上传代码(限制jpg文件)
Jan 05 #PHP
php下将XML转换为数组
Jan 01 #PHP
PHP 巧用数组降低程序的时间复杂度
Jan 01 #PHP
使用PHP获取网络文件的实现代码
Jan 01 #PHP
php中计算时间差的几种方法
Dec 31 #PHP
php 操作excel文件的方法小结
Dec 31 #PHP
You might like
如何使用脚本模仿登陆过程
2006/11/22 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
PHP实现文件上传和多文件上传
2015/12/24 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
javascript 在网页中的运用(asp.net)
2009/11/23 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
Python实现的异步代理爬虫及代理池
2017/03/17 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
使用turtle绘制五角星、分形树
2019/10/06 Python
Python基于class()实现面向对象原理详解
2020/03/26 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
正规的求职信范文分享
2013/12/11 职场文书
仰望星空观后感
2015/06/10 职场文书
招商银行收入证明
2015/06/17 职场文书
谢师宴家长致辞
2015/07/27 职场文书
mysql中between的边界,范围说明
2021/06/08 MySQL
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android