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 相关文章推荐
用文本文件制作留言板提示(下)
Oct 09 PHP
在PHP中读取和写入WORD文档的代码
Apr 09 PHP
用PHP编写和读取XML的几种方式
Jan 12 PHP
PHP操作MongoDB GridFS 存储文件的详解
Jun 20 PHP
php中的静态变量的基本用法
Mar 20 PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 PHP
Codeigniter注册登录代码示例
Jun 12 PHP
php网站被挂木马后的修复方法总结
Nov 06 PHP
php+mysqli使用预处理技术进行数据库查询的方法
Jan 28 PHP
php发送html格式文本邮件的方法
Jun 10 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
Apr 23 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
Feb 27 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中一个有意思的日期逻辑处理
2012/03/25 PHP
如何设置mysql允许外网访问
2013/06/04 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
CI框架的安全性分析
2016/05/18 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
JS按钮闪烁功能的实现代码
2017/07/21 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
Vue中常用rules校验规则(实例代码)
2019/11/14 Javascript
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
python表格存取的方法
2018/03/07 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
Python调用JavaScript代码的方法
2020/10/27 Python
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
高中军训的心得体会
2014/09/01 职场文书
2014流动人口计划生育工作总结
2014/12/20 职场文书
职位证明模板
2015/06/23 职场文书
2015年教学副校长工作总结
2015/07/22 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
MySQL常见优化方案汇总
2022/01/18 MySQL