喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
 16  1/2  1  2  > 
     
标题: [原创] 打造简单的采集函数!  
 
wwwc (wwwc)
高级会员
Rank: 4
高级会员



UID 19456
精华 2
积分 947
帖子 900
金钱 927 喜悦币
威望 20
人脉 0
阅读权限 50
注册 2003-4-9
状态 离线
打造简单的采集函数!

我感觉做程序员就要做一个”懒人“,懒就是怎么想方设法让自己做的事情简单话,比如一个简单的采集采集!

<?php
function getMatchData($data,$part){
   if(
preg_match("/".str_replace("*","(.*?)",preg_quote($part,"/"))."/si",$data,$tmp)){
       return 
$tmp[1];
  }else{
      return 
false
  }
}
?>
,看起来没什么用处,实际上也有不少用处(比如采集天气,提取某个地方的关键字),只需要把原来的HTML复制过来,要变的部分换成*就行了.
比如我取phpx.com的网页标题,只要
var_dump(getMatchData(file_get_contents("http://www.phpx.com"),"<title>*</title>"));
看看写法上是不是很方便呢?程序员应该学会“偷懒”
2006-9-30 10:24 AM#1
查看资料  Blog  发短消息  顶部
 
LuckLrj (中国php中的爱因斯坦)
版主
Rank: 7Rank: 7Rank: 7
老会员


UID 64836
精华 0
积分 2309
帖子 3102
金钱 2309 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-6-19
状态 离线
[推荐阅读] 我也求一个sql语句
在html内加入一些干扰因素防采集,你的这个正则就没用了。



学习,工作累了,请访问我的小站,娱乐一下。http://www.52sunny.net
2006-9-30 11:54 AM#2
查看资料  Blog  发短消息  顶部
 
wwwc (wwwc)
高级会员
Rank: 4
高级会员



UID 19456
精华 2
积分 947
帖子 900
金钱 927 喜悦币
威望 20
人脉 0
阅读权限 50
注册 2003-4-9
状态 离线
[推荐阅读] GB2312网页无法被Firefox识别的问题


QUOTE:
原帖由 LuckLrj 于 2006-9-30 11:54 AM 发表
在html内加入一些干扰因素防采集,你的这个正则就没用了。
具体问题具体解决!没有万能的
2006-9-30 12:07 PM#3
查看资料  Blog  发短消息  顶部
 
fcicq
新手上路
Rank: 1
初级会员



UID 24467
精华 0
积分 21
帖子 587
金钱 20 喜悦币
威望 0
人脉 1
阅读权限 10
注册 2003-11-8
来自 fcicq.net
状态 离线
[推荐阅读] 『北京』高薪诚聘php程序高手2人
你这还太复杂.路过.




2006-9-30 12:34 PM#4
查看资料  访问主页  Blog  发短消息  顶部
 
c1a1o1
版主
Rank: 7Rank: 7Rank: 7
一品带刀护卫


UID 68669
精华 0
积分 1225
帖子 2180
金钱 1225 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-2-17
状态 离线
[推荐阅读] 一个AJAX做的文本数据库考勤系统
很高明,就是单独出来太短感觉!



成人电影
php教材价格比较网美女图片
2006-9-30 08:42 PM#5
查看资料  Blog  发短消息  QQ  顶部
 
LuckLrj (中国php中的爱因斯坦)
版主
Rank: 7Rank: 7Rank: 7
老会员


UID 64836
精华 0
积分 2309
帖子 3102
金钱 2309 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-6-19
状态 离线
[推荐阅读] 新手请教!
我的意思你肯定没有理解到。

在同一个显示样式里。加入干扰元素,你的正则只符合某一规则,就不行了,
这样情况一般是切取再过滤。




学习,工作累了,请访问我的小站,娱乐一下。http://www.52sunny.net
2006-10-1 11:10 AM#6
查看资料  Blog  发短消息  顶部
 
php5
金牌会员
Rank: 6Rank: 6
中级会员


UID 62897
精华 0
积分 1240
帖子 1092
金钱 1240 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2005-1-3
来自 福建
状态 离线
[推荐阅读] [分享]中秋节祝福贺卡
最近在做一个通用的PHP采集程序
一、做成无限深入
二、自定义正则表达式
三、关键数据处理与存储
四、图片
。。。。
2006-10-1 02:39 PM#7
查看资料  发短消息  顶部
 
php5
金牌会员
Rank: 6Rank: 6
中级会员


UID 62897
精华 0
积分 1240
帖子 1092
金钱 1240 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2005-1-3
来自 福建
状态 离线
[推荐阅读] 水塘
这主题色不是一般的难看...
2006-10-1 02:40 PM#8
查看资料  发短消息  顶部
 
wwwc (wwwc)
高级会员
Rank: 4
高级会员



UID 19456
精华 2
积分 947
帖子 900
金钱 927 喜悦币
威望 20
人脉 0
阅读权限 50
注册 2003-4-9
状态 离线
[推荐阅读] 一个AJAX问题


QUOTE:
原帖由 LuckLrj 于 2006-10-1 11:10 AM 发表
我的意思你肯定没有理解到。

在同一个显示样式里。加入干扰元素,你的正则只符合某一规则,就不行了,
这样情况一般是切取再过滤。
说的就是简单,但是也是用在一般,说这话好像你喜欢写无规则的东西!估计只有你喜欢写
<title><title>我是标题</title>吧
2006-10-1 04:01 PM#9
查看资料  Blog  发短消息  顶部
 
LuckLrj (中国php中的爱因斯坦)
版主
Rank: 7Rank: 7Rank: 7
老会员


UID 64836
精华 0
积分 2309
帖子 3102
金钱 2309 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-6-19
状态 离线
[推荐阅读] 各位帮帮忙,急!!
<title xxx>你好</title>
这里的xxx可以是任意字符,也就是说加这些破坏了你的正则匹配,
所以按照你的办法是不可行的,当然现在这样做的网站并不太多,对于文章内容比较重要的还是有很多办法增加采集难度的。

以后你多采集几个站,就知道了,防采集干扰办法还很多的。




学习,工作累了,请访问我的小站,娱乐一下。http://www.52sunny.net
2006-10-1 04:38 PM#10
查看资料  Blog  发短消息  顶部
 16  1/2  1  2  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.025026 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP