仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1506|回复: 20
打印 上一主题 下一主题

[学习教程] PHP网页编程之PHP实例教程:PHP收集法式的思绪

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:43:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
大部分语言的基础,不是说c有多好,而是c相对起手容易学,让你认为这个是编程语言,   </p> 因为需求,要写一个复杂的PHP收集法式,按例是到网上找了一堆教程,然后照猫画虎,可是发明网上的教程满是貌同实异,没有一个真正能用的。苦想了几天,终究弄分明了外面的事理。在这里写出来,请高手斧正。
收集法式的思绪很复杂,不过就是先打一个页面,普通都是列表页,获得外面全体链接的地址,然后翻开逐条链接,寻觅咱们感乐趣的器材,假如找到,就把它入库或其余处置。上面以一个很复杂的例子来讲说。
起首肯定一个收集页,普通就是列外表了。这里方针是:http://www.php100.com/article/11/index.htm。这是一个列表页,咱们的目标就是收集这个列表页上全体的文章。有列表页了,第一步先翻开它,把它的内包容入到咱们的法式中来。普通用fopen或是file_get_contents这两个函数,咱们这里用fopen作例子。怎样翻开它呢?很复杂:$source=fopen("http://www.php100.com/article/11/index.htm",'r');实践上已把内包容入到咱们的法式中来了。注重失掉的$source是一个资本,不是可处置的文本,所以再用函数fread将内容读到一个变量中,此次就是真实的可编纂的文本了。例子:
$content=fread($source,99999);前面的数字暗示字节数,填个大的就行。你用file_put_contents将$content写入到一个文本文件,可以看出外面的内容其实就是网页的源码。失掉了网页的源码,咱们就要剖析外面的文章链接地址,这里要用到正则表达式了,[保举正则表达式教程(http://www.php100.com/article/7/all/545.1.htm)]。经由过程检查源代码,咱们可以看到外面文章的链接地址满是这个模样<div class="in_arttitle"><a href="http://www.php100.com/article/10/all/273.1.htm">  将数据库毗连代码封装在函数里,在需求读取时挪用..</a>
咱们就能够写正则表达式了。$count=preg_match_all("/<div class="in_arttitle"><ashref="(.+?)">(.+?)</a>/",$content,$art_list);
个中数组$art_list[1][$s]外面包括的就是某个文章的链接地址。而$art_list[2][$s]包括的就是某一文章的题目。到了这一步就能够算胜利了一半了。
接着用for轮回顺次打每一个链接,然后像获得题目一样的办法获得内容便可。以上这些和我在网上找的教程都差不多,然而到了这个for轮回网上的教程可就低劣,还没找到一篇可以说清这个事的文章,刚入手下手我是用js来匡助轮回的,仍是用实例说吧,刚入手下手我是如许做的:
for($i=0;$i<20;4i++ {
两头就是收集内容的局部了,省略了
收集了一页,一定要收集再一页啊
可是再用fopen翻开链接时就不可了。恳求掉败甚么的,用js也不可,最初才晓得要用这句echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=aa.php?id=1'>";个中aa.php就是咱们的法式的文件名, id前面的数字就能够匡助咱们完成轮回,收集多个页面。这就是能真正轮回起来的关头
}
头脑有点舒服,写得有点乱,迁就着看吧,在高手看来这能够没甚么大不了的,可是关于我等菜鸟来讲,其实是很有匡助。
我是根据自己的成长历程来写的,如有不对的还请指正。
透明 该用户已被删除
沙发
发表于 2015-2-4 06:10:52 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
山那边是海 该用户已被删除
板凳
发表于 2015-2-8 19:56:29 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
冷月葬花魂 该用户已被删除
地板
发表于 2015-2-23 13:54:22 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
再见西城 该用户已被删除
5#
发表于 2015-2-26 01:05:28 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
精灵巫婆 该用户已被删除
6#
发表于 2015-3-5 19:39:43 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
若天明 该用户已被删除
7#
发表于 2015-3-12 12:15:19 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
分手快乐 该用户已被删除
8#
发表于 2015-3-19 22:05:21 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
谁可相欹 该用户已被删除
9#
发表于 2015-4-1 21:08:50 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
admin 该用户已被删除
10#
发表于 2015-4-5 01:34:38 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
若相依 该用户已被删除
11#
发表于 2015-4-13 01:02:16 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
爱飞 该用户已被删除
12#
发表于 2015-4-18 05:29:28 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
再现理想 该用户已被删除
13#
发表于 2015-4-21 07:29:42 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
灵魂腐蚀 该用户已被删除
14#
发表于 2015-4-24 06:35:09 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
柔情似水 该用户已被删除
15#
发表于 2015-4-24 15:38:55 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
深爱那片海 该用户已被删除
16#
发表于 2015-4-24 22:08:51 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
愤怒的大鸟 该用户已被删除
17#
发表于 2015-5-5 17:24:01 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
小妖女 该用户已被删除
18#
 楼主| 发表于 2015-5-8 12:36:44 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
飘灵儿 该用户已被删除
19#
发表于 2015-6-5 11:42:28 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
莫相离 该用户已被删除
20#
发表于 2015-6-12 18:50:50 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 18:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表