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 adodb连接不同数据库
Mar 19 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
PHP中__get()和__set()的用法实例详解
Jun 04 PHP
php登陆页的密码处理方式分享
Oct 14 PHP
ThinkPHP之A方法实例讲解
Jun 20 PHP
php事务处理实例详解
Jul 11 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
PHP使用SOAP扩展实现WebService的方法
Apr 01 PHP
PHP自定义函数实现格式化秒的方法
Sep 14 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
Apr 26 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 前一天或后一天的日期
2008/06/28 PHP
php setcookie函数的参数说明及其用法
2014/04/20 PHP
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
Js切换功能的简单方法
2010/11/23 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
Flexigrid在IE下不显示数据的有效处理方法
2014/09/04 Javascript
JavaScript中的对象的extensible属性介绍
2014/12/30 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
2016/06/27 Javascript
WebPack基础知识详解
2017/01/16 Javascript
node.js的事件机制
2017/02/08 Javascript
vue中的scope使用详解
2017/10/29 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
2018/09/14 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
python基础练习之几个简单的游戏
2017/11/10 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
pytorch 预训练层的使用方法
2019/08/20 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
《寓言两则》教学反思
2014/02/27 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
党员创先争优心得体会
2014/09/11 职场文书
场地使用证明模板
2014/10/25 职场文书
2014年作风建设工作总结
2014/10/29 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
放假通知怎么写
2015/08/18 职场文书
Python 制作自动化翻译工具
2021/04/25 Python