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 相关文章推荐
php5 and xml示例
Nov 22 PHP
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
在PHP中检查PHP文件是否有语法错误的方法
Dec 23 PHP
比较详细PHP生成静态页面教程
Jan 10 PHP
PHP输出XML到页面的3种方法详解
Jun 06 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
浅析PKI加密解密 OpenSSL
Jul 01 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
Aug 08 PHP
php使用COPY函数更新配置文件的方法
Jun 18 PHP
PHP7新特性foreach 修改示例介绍
Aug 26 PHP
PHP链表操作简单示例
Oct 15 PHP
php实现支持中文的文件下载功能示例
Aug 30 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方法调用模式与函数调用模式简例
2011/09/20 PHP
yii框架builder、update、delete使用方法
2014/04/30 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
JavaScript XML实现两级级联下拉列表
2008/11/10 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
JavaScript中的标签语句用法分析
2015/02/10 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
2015/03/27 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
python计算日期之间的放假日期
2018/06/05 Python
pandas带有重复索引操作方法
2018/06/08 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
世界上最大的网络主机公司:1&1
2016/10/12 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
技术总监岗位职责
2013/12/05 职场文书
触电现场处置方案
2014/05/14 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
新学期主题班会
2015/08/17 职场文书
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫
Python+Tkinter打造签名设计工具
2022/04/01 Python