php 文章采集正则代码


Posted in PHP onDecember 28, 2009
//采集html 
function getwebcontent($url){ 
$ch = curl_init(); 
$timeout = 10; 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
$contents = trim(curl_exec($ch)); 
curl_close($ch); 
return $contents; 
} 
//获得标题和url 
$string = 
getwebcontent('http://www.***.com/learn/zhunbeihuaiyun/jijibeiyun/2'); 
//正则匹配<li>获取标题和地址 
preg_match_all ("/<li><a href=\"\/learn\/article\/(.*)\">(.*)<\/a>/",$string, $out, PREG_SET_ORDER); 
foreach($out as $key => $value){ 
$article['title'][] = $out[$key][2]; 
$article['link'][] = "http://www.***.com/learn/article/".$out[$key][1]; 
} 
//根据url获取文章内容 
foreach($article['link'] as $key=>$value){ 
$content_html = getwebcontent($article['link'][$key]); 
preg_match("/<div id=pagenum_0(.*)>[\s|\S]*?<\/div>/",$content_html,$matches); 
$article[content][$key] = $matches[0]; 
} 
//不转码还真不能保存成文件 
foreach($article[title] as $key=>$value){ 
$article[title][$key] = iconv('utf-8', 'gbk', $value);//转码 
} 
//存入文件 
$num = count($article['title']); 
for($i=0; $i<$num; $i++){ 
file_put_contents("{$article[title][$i]}.txt", $article['content'][$i]); 
} 
?>
PHP 相关文章推荐
php预定义变量使用帮助(带实例)
Oct 30 PHP
php中session退出登陆问题
Feb 27 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
May 10 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
PHP获取一个字符串中间一部分字符的方法
Aug 19 PHP
php实现字符串首字母大写和单词首字母大写的方法
Mar 14 PHP
php上传大文件设置方法
Apr 14 PHP
php源码之将图片转化为data/base64数据流实例详解
Nov 27 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
Jul 04 PHP
Laravel框架自定义公共函数的引入操作示例
Apr 16 PHP
微信支付之JSAPI公众号支付详解
May 15 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 PHP
PHP array_push 数组函数
Dec 26 #PHP
PHP simple_html_dom.php+正则 采集文章代码
Dec 24 #PHP
在PHP中检查PHP文件是否有语法错误的方法
Dec 23 #PHP
php 常用类整理
Dec 23 #PHP
PHP 源代码压缩小工具
Dec 22 #PHP
php 8小时时间差的解决方法小结
Dec 22 #PHP
PHP 分页原理分析,大家可以看看
Dec 21 #PHP
You might like
php插入排序法实现数组排序实例
2015/02/16 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
2017/04/18 PHP
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
利用Psyco提升Python运行速度
2014/12/24 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
python通过smpt发送邮件的方法
2015/04/30 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
python常见字符串处理函数与用法汇总
2019/10/30 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
python/golang 删除链表中的元素
2020/09/14 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
英国派对礼服和连衣裙购物网站:TFNC London
2018/07/07 全球购物
数据库基础的一些面试题
2012/02/25 面试题
怎样有效的进行自我评价
2013/10/06 职场文书
门卫班长岗位职责
2013/12/15 职场文书
小学英语课后反思
2014/04/26 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
高校群众路线教育实践活动剖析材料
2014/10/10 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
红色经典观后感
2015/06/18 职场文书
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers