仓酷云

标题: PHP网页编程之PHP实例教程:PHP收集法式的思绪 [打印本页]

作者: 小妖女    时间: 2015-2-3 23:43
标题: PHP网页编程之PHP实例教程:PHP收集法式的思绪
大部分语言的基础,不是说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
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 山那边是海    时间: 2015-2-8 19:56
兴趣是最好的老师,百度是最好的词典。
作者: 冷月葬花魂    时间: 2015-2-23 13:54
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 再见西城    时间: 2015-2-26 01:05
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
作者: 精灵巫婆    时间: 2015-3-5 19:39
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 若天明    时间: 2015-3-12 12:15
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 分手快乐    时间: 2015-3-19 22:05
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 谁可相欹    时间: 2015-4-1 21:08
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者: admin    时间: 2015-4-5 01:34
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 若相依    时间: 2015-4-13 01:02
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 爱飞    时间: 2015-4-18 05:29
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 再现理想    时间: 2015-4-21 07:29
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 灵魂腐蚀    时间: 2015-4-24 06:35
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
作者: 柔情似水    时间: 2015-4-24 15:38
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: 深爱那片海    时间: 2015-4-24 22:08
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 愤怒的大鸟    时间: 2015-5-5 17:24
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
作者: 小妖女    时间: 2015-5-8 12:36
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者: 飘灵儿    时间: 2015-6-5 11:42
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 莫相离    时间: 2015-6-12 18:50
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 仓酷云    时间: 2015-6-19 20:19
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2