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注入点构造代码
Jun 14 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
Jun 22 PHP
ThinkPHP调用百度翻译类实现在线翻译
Jun 26 PHP
PHP has encountered a Stack overflow问题解决方法
Nov 03 PHP
一个经典的PHP验证码类分享
Nov 18 PHP
在SAE上搭建最新wordpress的方法
Dec 21 PHP
php判断两个浮点数是否相等的方法
Mar 14 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
May 12 PHP
PHP5.6新增加的可变函数参数用法分析
Aug 25 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 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实现的下载css文件中的图片的代码
2010/02/08 PHP
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
经典PHP加密解密函数Authcode()修复版代码
2015/04/05 PHP
PHP实现QQ空间自动回复说说的方法
2015/12/02 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
JavaScript Array扩展实现代码
2009/10/14 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
node.js中的socket.io入门实例
2014/04/26 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
vue-resource + json-server模拟数据的方法
2017/11/02 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
jQuery控制input只能输入数字和两位小数的方法
2019/05/16 jQuery
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
浅析Python多线程下的变量问题
2015/04/28 Python
编写Python脚本抓取网络小说来制作自己的阅读器
2015/08/20 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
浅谈Python中eval的强大与危害
2019/03/13 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
python中的itertools的使用详解
2020/01/13 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
学生发电厂实习自我鉴定
2013/09/22 职场文书
会计应聘求职信范文
2013/12/17 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
Python图像处理之图像拼接
2021/04/28 Python
如何理解及使用Python闭包
2021/06/01 Python