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 相关文章推荐
IStream与TStream之间的相互转换
Aug 01 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
Aug 09 PHP
php中异常处理方法小结
Jan 09 PHP
浅析THINKPHP的addAll支持的最大数据量
Feb 03 PHP
codeigniter实现get分页的方法
Jul 10 PHP
php获取远程文件内容的函数
Nov 02 PHP
thinkPHP查询方式小结
Jan 09 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
php模拟post上传图片实现代码
Jun 24 PHP
php7函数,声明,返回值等新特性介绍
May 25 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
laravel 实现设置时区的简单方法
Oct 10 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
sphinx增量索引的一个问题
2011/06/14 PHP
第三章 php操作符与控制结构代码
2011/12/30 PHP
php 字符串替换的方法
2012/01/10 PHP
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
推荐dojo学习笔记
2007/03/24 Javascript
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
JQuery AJAX 中文乱码问题解决
2013/06/05 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
原生js结合html5制作简易的双色子游戏
2015/03/30 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
Python实现遍历windows所有窗口并输出窗口标题的方法
2015/03/13 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
python numpy库np.percentile用法说明
2020/06/08 Python
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
化石印度尼西亚在线商店:Fossil Indonesia
2019/03/11 全球购物
火山动力Java笔试题
2014/06/26 面试题
业务副厂长岗位职责
2014/01/03 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
爱护公物标语
2014/06/24 职场文书
学校机关党总支领导班子整改工作方案
2014/10/26 职场文书
2014年房地产工作总结范文
2014/11/19 职场文书
人事局接收函
2015/01/30 职场文书
施工安全保证书
2015/05/09 职场文书
警示教育片观后感
2015/06/17 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
Python标准库之typing的用法(类型标注)
2021/06/02 Python
instantclient客户端 连接oracle数据库
2022/04/26 Oracle