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仿ZOL分页类代码
Oct 02 PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
通过5个php实例细致说明传值与传引用的区别
Aug 08 PHP
php设计模式小结
Feb 15 PHP
提升PHP性能的21种方法介绍
Jun 25 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
Dec 17 PHP
php socket通信(tcp/udp)实例分析
Feb 14 PHP
php ajax异步读取rss文档数据
Mar 29 PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 PHP
再谈PHP中单双引号的区别详解
Jun 12 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
Aug 02 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实现图象锐化代码
2007/06/14 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
php文件压缩之PHPZip类用法实例
2015/06/18 PHP
Yii2汉字转拼音类的实例代码
2017/04/18 PHP
input禁止键盘及中文输入,但可以点击
2014/02/13 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
浅谈setTimeout 与 setInterval
2015/06/23 Javascript
vue.js入门教程之绑定class和style样式
2016/09/02 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
记一次react前端项目打包优化的方法
2020/03/30 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
Python操作CouchDB数据库简单示例
2015/03/10 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
python爬虫开发之selenium模块详细使用方法与实例全解
2020/03/09 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
2021/02/02 Python
html5 canvas 画图教程案例分析
2012/11/23 HTML / CSS
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
通用C#笔试题附答案
2016/11/26 面试题
如何开启linux的ssh服务
2013/06/03 面试题
党员批评与自我批评
2014/02/12 职场文书
实习生工作证明范本
2014/09/14 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
义诊活动总结
2015/02/04 职场文书
诉讼和解协议书
2016/03/23 职场文书
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript
PostgreSQL常用字符串分割函数整理汇总
2022/07/07 PostgreSQL