从0开始学采集------中级篇之前期准备工作:本机搭建PHP环境
前言:在初级篇介绍了利用火车头采集内容并发布到wordpress的过程(帖子地址:http://www.eefaq.com/thread-121090-1-1.html),希望对新人能够有一些帮助。火车头有它的便利性,上手简单,基本上研究几天就可以上手采集了。但由于它毕竟是一款商业软件,不掏钱买商业版,限制多多,用起来不爽。当然,我没有用过商业版没有发言权,也说不定用起来很爽。两年前用火车头免费版时感觉由于功能限制很难实现一些稍复杂的功能,果断放弃,转投用PHP采集的路线。
通过在论坛泡了几天,也对大家有了一些初步的了解,我感觉论坛高手、中层、新人个个层次的人都不在少数,在论坛里看帖子,既能从高手那里学习到有用知识提升自己,也看到了很多新人朋友在苦苦学习。我自认为自己处于中下等水平,没有太多高深的技术分享给大家,只能做一些初级入门教程来帮助有意学习的新人,减少他们苦寻的时间。下面我们开始:
主角:PHP
PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,易于学习,使用广泛,主要适用于Web开发领域。上面这段话是百度百科关于PHP的定义,实际学习起来也是入门较容易,想学深入也需要付出很大努力,同时能实现很强大的功能。我们使用的wordpress、dedecms、discuz、ecshop等等都是使用PHP开发,所以,除了采集也还是有理由学一学PHP的。
那么既然要学习PHP,首先要搭建好PHP的环境,才能运行代码。这里推荐使用环境套件安装包,不要一开始就去研究在服务器上如何搭建PHP环境,如果这样只是环境搭建就可能花费你2-3天的时间,作为学习研究一款环境套件就够用了,如:WampServer、PHPnow、AppServ
需要的工具:
1.PHPnow
2.一款代码编辑器。如:EditPlus、notepad
步骤:
1、安装PHP环境,以下引用phpnow网站文档
首先从下载 最新版 PHPnow。PHPnow 有两种封装,一是 exe 自解压版(推荐,本文针对此版),二是纯 7z 档案(没有 exe 自解压)。
执行 PHPnow-1.4.x.exe 出现下图所示。回车即可。
http://servkit.org/guideimg/1.png
图-1:解压对话框
在自动解压完毕后,将自动执行 Init.cmd 进行初始化动作。如 图-2 示:
期间可能出现防火墙提示,请允许。
http://servkit.org/guideimg/2.png
图-2:Init.cmd 过程
http://servkit.org/guideimg/3.png
图-3:解除防火墙
Init.cmd 十秒钟即可完成。全部完成后,将自动打开默认页。
(如果没有,试试手动打开 http://127.0.0.1)
http://servkit.org/guideimg/4.png
图-4:搭建成功
如果你只想搭建一个网站,上面的环境已经足够。很都时候我们需要开设多个独立的网站。例如论坛和主页分开、和朋友共享服务器等等。这时就要用到 虚拟主机 了。
下面说说 PHPnow 虚拟主机的使用。很简单。
双击执行 D:\PHPnow\PnCp.cmd (可能你的安装路径不是 D:\PHPnow),输入 2 后回车。
按照提示输入新建虚拟主机信息。如 图-5 所示。
http://servkit.org/guideimg/5.png
图-5:开设虚拟主机
输入完信息回车后,将自动重启 Apache 以便生效。
然后访问刚才添加的域名,注意事先解析好域名指向你的服务器 IP。
如果没有域名或者不会用,可以通过编辑 C:\WINDOWS\system32\drivers\etc\hosts 来使用“虚拟域名”。
本例中的 bbs.test.com 就是在 “127.0.0.1 localhost” 的下一行添加一行 “127.0.0.1 bbs.test.com” 实现的。
http://servkit.org/guideimg/6.png
图-6:虚拟主机开设成功
可能你还需要为每个虚拟主机分配 MySQL 数据库,下面介绍下如何使用 phpmyadmin 分配用户和数据库。
打开 http://127.1/phpMyAdmin;用 root 登陆。
然后点击 “权限”再点击 “添加新用户”。
填写好新的 用户名 和 密码;
选择第二项 “Create database with same name and grant all privileges”。
其他的保持默认;需要提的是,全局权限可不要选,除非必要,否则全不选。
点击 [执行] 即可完成。难明白就看看图吧。
http://servkit.org/guideimg/7.png
图-7:添加数据库用户。
把刚才添加的用户名和密码交给用户即可。注意 root 拥有最高权限,不要轻易把密码交给别人。
好了!你现在拥有了一个专业的 PHP 服务器环境。什么 Discuz! 6.0、PHPWind、DeDe、PHPCms 全不是问题,马上开始你的建站旅程。
2.在代码编辑器中,写下你的第一个PHP程序,保存为(任意文件名.php),比如a.php到phpnow目录下htdocs目录中。代码内容为:
<?php
$url = "http://www.eefaq.com/forum.php";// 你要采集的地址
$content = file_get_contents($url); //用file_get_contents将网址打开并读取所打开的页面的内容
echo $content;
?>
3.在浏览器中输入:http://127.0.0.1/a.php看看结果吧。
很辛苦,鼓励一下。。。。
期待楼主的:lol:lol高级篇
不建议使用file_get_contents采集,推荐使用php的curl库
使用file_get_contents函数时,当获取的$url访问不了时,会导致页面漫长的等待,甚至还能导致PHP进程占用CPU达100%,
使用curl获取页面比用file_get_contents稳定的多,快速的多,功能也更加强大
包括伪装ip啊,代理啊之类的,
相比之下,file_get_contents函数更适合读取本地文件
引用一下某个测试两者性能的数据,下面在一个在国外网站上看到的二者的读取google.com首页的测试:
Fetching google.com using file_get_contents took (in seconds):
2.31319094
2.30374217
2.21512604
3.30553889
2.30124092
CURL took:
0.68719101
0.64675593
0.64326
0.81983113
0.63956594
高下立判,推荐使用curl
mulao 发表于 2014-10-28 16:28 static/image/common/back.gif
不建议使用file_get_contents采集,推荐使用php的curl库
使用file_get_contents函数时,当获取的$url访问 ...
嗯。是这样的。只不过是因为开始标题笔误,弄了个初级篇,让大家以为会有中级和高级篇。我的计划是高级篇介绍curl,毕竟除了效率外,curl还可以实现模拟登陆、发送等必须的功能。
file_get_contents全当是给让没接触过PHP的人了解它的神奇吧,毕竟一句代码就可以抓取到网页了,先感兴趣再入门吧,curl抓取一个页面得好几行代码,没接触过的人可能就看晕了,就放弃学了。
kevinmy 发表于 2014-10-28 16:35 static/image/common/back.gif
嗯。是这样的。只不过是因为开始标题笔误,弄了个初级篇,让大家以为会有中级和高级篇。我的计划是高级篇 ...
OK
等楼主高级篇:)
很辛苦,鼓励一下。。。。
顶楼主,这篇讲的内容我之前了解过。楼主教那种图片站采集的教程吗 顶楼主,期待你的高级篇!晚上就实践下!
PHP多进程配合异步CURL效率还是不错滴,更专业点用python。
mark
谢谢!很详细的教程 。。
:lol 来更多的干货吧............
楼主介绍点采集的内容怎么赚钱就好了。
谢谢分享,期待楼主的高级篇
支持一个干货啊。。。。不错,谢谢楼主分享。
谢谢楼主,楼主好人~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这个是真正的干货呀,支持
很好的教程希望继续写下去,辛苦了:)
谢谢!很详细的教程,谢谢楼主分享。
页:
[1]
2