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初学者常见问题集合 修正版(21问答)
Mar 23 PHP
php中用加号与用array_merge合并数组的区别深入分析
Jun 03 PHP
控制PHP的输出:缓存并压缩动态页面
Jun 11 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
Nov 07 PHP
在Linux系统下一键重新安装WordPress的脚本示例
Jun 30 PHP
PHP编程基本语法快速入门手册
Jan 07 PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 PHP
php使用 readfile() 函数设置文件大小大小的方法
Aug 11 PHP
为何说PHP引用是个坑,要慎用
Apr 02 PHP
laravel-admin的多级联动方法
Sep 30 PHP
laravel框架创建授权策略实例分析
Nov 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 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
js中cookie的使用详细分析
2008/05/28 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
javascript结合Canvas 实现简易的圆形时钟
2015/03/11 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
js合并两个数组生成合并后的key:value数组
2018/05/09 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
Python实现公历(阳历)转农历(阴历)的方法示例
2017/08/22 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
python实现弹跳小球
2019/05/13 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
中国电视购物:快乐购
2017/02/04 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
艺术设计专业个人求职信范文
2013/12/11 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
事业单位人员的自我评价范文
2014/09/21 职场文书
师范生免费教育协议书范本
2014/10/09 职场文书
教师师德表现自我评价
2015/03/05 职场文书
三十年同学聚会致辞
2015/07/28 职场文书
python某漫画app逆向
2021/03/31 Python
使用SQL实现车流量的计算的示例代码
2022/02/28 SQL Server