【利用PHP制作简单的内容采集器的原理分析】教程文章相关的互联网学习教程文章

学习使用curl采集curl使用方法_php技巧

代码如下:$cookie_jar = tempnam('./tmp','cookie'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,'登陆地址'); curl_setopt($ch, CURLOPT_POST, 1); $request = 'username=xxx&pwd=xxx'; curl_setopt($ch, CURLOPT_POSTFIELDS, $request);//传递数据 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);//把返回来的cookie信息保存在$cookie_jar文件中 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设定返回的数据是否自...

PHP采集腾讯微博的实现代码_php实例

代码如下:header("Content-type:text/html;charset=utf-8"); $weibo = file_get_contents('http://t.qq.com/starank'); $preg = '/(.*)/Uis'; preg_match_all($preg, $weibo, $string); foreach ($string[1] as $key=>$value){ echo delhtml($value).""; } function delhtml($str) // 清除HTML标签 { $st = -1; //开始 $et = -1; //结束 $stmp = array(); $stmp[] = " "; $len = strlen($str); for($i = 0;$i { $ss = substr($str,...

采集邮箱的php代码(抓取网页中的邮箱地址)_php技巧

代码如下:$url='http://www.gxlcms.com'; //这个网页里绝对含有邮件地址。 $content=file_get_contents($url); //echo $content; function getEmail($str) { //$pattern = "/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i"; $pattern = "/([a-z0-9\-_\.]+@[a-z0-9]+\.[a-z0-9\-_\.]+)/"; preg_match_all($pattern,$str,$emailArr); return $emailArr[0]; } print...

PHP文章采集URL补全函数(FormatUrl)_php实例【图】

写采集必用的函数,URL补全函数,也可叫做FormatUrl。 写此函数作用就是为了开发采集程序,采集文章的时候会经常遇到页面里的路径是 “相对路径” 或者 “绝对根路径” 不是“绝对全路径”就无法收集URL。 所以,就需要本功能函数进行对代码进行格式化,把所有的超链接都格式化一遍,这样就可以直接收集到正确的URL了。 路径知识普及 相对路径:“../” “./” 或者前面什么都不加 绝对根路径:/path/xxx.html 绝对全路径:http://...

基于curl数据采集之单页面并行采集函数get_htmls的使用_php实例

用第一篇的get_html()实现简单的数据采集,由于是一个一个执行才采集数据的传输时间就会是所有页面下载的总时长,一个页面假设1秒,那么10个页面就是10秒了。所幸curl还提供了并行处理的功能。 要写一个并行采集的函数,先要了解要采集什么样的页面,对采集的页面用什么请求,才能写出一个相对常用的函数。 功能需求分析: 返回什么? 当然每一个页面的html集合成的数组 传递什么参数? 编写get_html()时,我们知道了可以用opti...

深入php数据采集的详解_php技巧【代码】

这里介绍两个php采集能用到的好工具。一个是Snoopy,一个是simple_html_dom。采集还有很多方式(其实本质就2-3种,其他的都是衍生的),php自带了几个方法也能直接进行采集。但是,出于把懒惰进行到底的精神。我们还是可以通过这两个工具,让采集变得更简单。网上有不少介绍Snoopy的,下面是别人翻译的Snoopy的SDK//////////////////////////////////////////////////////////////Snoopy是一个php类,用来模拟浏览器的功能,可以获...

解析php利用正则表达式解决采集内容排版的问题_php技巧

做采集经常遇到的问题是内容排版问题,用了一些时间写了个用正则替换html标签和样式的函数,共享下。 代码如下:/** * 格式化内容 * @param string $content 内容最好统一用utf-8编码 * @return string * !本函数需要开启tidy扩展 */function removeFormat($content) { $replaces = array ( "//i" => '', "//i" => '', "//i" => , "/<\/strong>/i" => , "/<span.*?>/i" => , "/<\/span>/i" => , "//i" => "", "/<\/...

php采集文章中的图片获取替换到本地(实现代码)_php技巧【图】

代码如下:/** * 获取替换文章中的图片路径 * @param string $xstr 内容 * @param string $keyword 创建照片的文件名 * @param string $oriweb 网址 * @return string * */function replaceimg($xstr,$keyword, $oriweb){ //保存路径 $d = date('Ymd', time()); $dirslsitss = '/var/www/weblist/uploads/'.$keyword.'/'.$d;//分类是否存在 if(!is_dir($dirslsitss)) { @mkdir($dirslsitss, 0777); } //...

php实现的一个很好用HTML解析器类可用于采集数据_php实例

代码如下: $oldSetting = libxml_use_internal_errors( true ); libxml_clear_errors(); /** * * -+----------------------------------- * |PHP5 Framework - 2011 * |Web Site: www.iblue.cc * |E-mail: mejinke@gmail.com * |Date: 2012-10-12 * -+----------------------------------- * * @desc HTML解析器 * @author jingke */ class XF_HtmlDom { private $_xpath = null; private $_no...

php使用curl模拟登录后采集页面的例子_php实例

今天接到的功课是从一个网站获取商品库存,但是这个网站需要登录,我用fsockopen传递了整个header头都没用,只能求助于curl了。附带说一下curl模块的开启办法:(1)从php目录下拷贝:libeay32.dll,ssleay32.dll 到windows目录下。(2)打开php.ini,查找“extension_dir = xxxxx”,确认后面的文件目录内有php_curl.dll文件。(3)同样是php.ini,查找“extension=php_curl.dll”,确认它没有被注释(前面没有';')。(4)重启apache,如果...

使用phpQuery采集网页的方法_php技巧

phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息。更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样处理页面内容,获取你想要的页面信息。采集头条先看一实例,现在我要采集新浪网国内新闻的头条,代码如下: 代码如下:include 'phpQuery/phpQuery.php'; phpQuery::newDocumentFile('http://www.gxlcms.com'); echo pq(".blkTop h1:eq(0)")->html();简...

curl实现站外采集的方法和技巧_php技巧

选择curl的理由 关于curl与file_get_contents,摘抄一段通俗易懂的对比:file_get_contents其实是一堆内置的文件操作函数的合并版本,比如file_exists,fopen,fread,fclose,专门提供给懒人用的,而且它主要是用来对付本地文件的,但又是因为懒人的原因,同时加入了对网络文件的支持;curl是专门用来进行网络交互的库,提供了一堆自定义选项,用来应对不同的环境,稳定性自然要大于file_get_contents。 使用方法 1、开启curl支持 由...

基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)_php技巧

1、使用curl实现站外采集 具体请参考我上一篇笔记:http://www.gxlcms.com/article/46432.htm 2、编码转换首先通过查看源代码找到采集的网站使用的编码,通过mb_convert_encoding函数进行转码; 具体使用方法:代码如下://源字符是$str //以下已知原编码为GBK,转换为utf-8 mb_convert_encoding($str, "UTF-8", "GBK"); //以下未知原编码,通过auto自动检测后,转换编码为utf-8 mb_convert_encoding($str, "UTF-8", "auto"); 3、为...

PHP采集类Snoopy抓取图片实例_php实例

用了两天php的Snoopy这个类,发现很好用。获取请求网页里面的所有链接,直接使用fetchlinks就可以,获取所有文本信息使用fetchtext(其内部还是使用正则表达式在进行处理),还有其它较多的功能,如模拟提交表单等。使用方法: 先下载Snoopy类,下载地址:http://sourceforge.net/projects/snoopy/ 先实例化一个对象,然后调用相应的方法即可获取抓取的网页信息代码如下: include snoopy/Snoopy.class.php; $snoopy = new Snoopy()...

PHP远程采集图片详细教程_php实例

当我们需要采集网络上的某个网页内容时,如果目标网站上的图片做了防盗链的话,我们直接采集过来的图片在自己网站上是不可用的。那么我们使用程序将目标网站上的图片下载到我们网站服务器上,然后就可调用图片了。 本文将使用PHP实现采集远程图片功能。基本流程: 1、获取目标网站图片地址。 2、读取图片内容。 3、创建要保存图片的路径并命名图片名称。 4、写入图片内容。 5、完成。 我们通过写几个函数来实现这一过程。 函数make...