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 存取 MySQL 数据库的一个例子
Oct 09 PHP
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
Jan 15 PHP
基于MySQL分区性能的详细介绍
May 02 PHP
PHP代码审核的详细介绍
Jun 13 PHP
php实现根据IP地址获取其所在省市的方法
Apr 30 PHP
PHP整合PayPal支付
Jun 11 PHP
yii2使用ajax返回json的实现方法
May 14 PHP
CI框架中$this-&gt;load-&gt;library()用法分析
May 18 PHP
PHP与服务器文件系统的简单交互
Oct 21 PHP
php实现的简单中文验证码功能示例
Jan 03 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
May 05 PHP
php获取微信共享收货地址的方法
Dec 21 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下载xls文件(自己动手写的)
2014/04/18 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
jquery移动listbox的值原理及代码
2013/05/03 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
微信小程序按钮去除边框线分享页面功能
2018/08/27 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
vue项目中定义全局变量、函数的几种方法
2019/11/08 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
Python 查找字符在字符串中的位置实例
2018/05/02 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
Python多线程模块Threading用法示例小结
2019/11/09 Python
Series和DataFrame使用简单入门
2019/11/13 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
python用Configobj模块读取配置文件
2020/09/26 Python
英国卫浴商店:Ergonomic Design
2019/09/22 全球购物
大学生的四年学习自我评价
2013/12/13 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
优秀的个人求职信范文
2014/05/09 职场文书
给校长的一封检讨书
2014/09/20 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python