摘要: 以前使用curl的多线程并不是真正的多线程,只是一种模拟的多线程,现在使用pthreads来实现真正意义上的多线程。下载: windows下: http://windows.php.net/downloads/pecl/releases/pthreads/0.0.45/ mac、unix、linux下: https://github.com/krakjoe/pthreads安装方式: windows下: 解压得到pthreadVC2.dll和php_pthreads.dll文件,把vc2文件放到php.exe同级目录,把php_pthreads.dll放到扩展目录下。 ... 阅读全文
posted @ 2014-01-06 14:44 黑睫毛膏 阅读(913) 评论(0) 推荐(0) 编辑
摘要: 根据前几篇的博文:curl数据采集系列之单页面采集函数get_htmlcurl数据采集系列之多页面并行采集函数get_htmlscurl数据采集系列之正则处理函数get_matches可以得到了单页面和多页面的采集功能 如下:1 $urls = array('http://www.baidu.com','http://www.hao123.com');2 $htmls = get_htmls($urls);3 foreach($htmls as $html){4 $matches = get_matches('!<a[^<]+</a&g 阅读全文
posted @ 2013-04-28 15:03 黑睫毛膏 阅读(396) 评论(2) 推荐(0) 编辑
摘要: 根据前两篇的博文: curl数据采集系列之单页面采集函数get_html curl数据采集系列之多页面并行采集函数get_htmls 已经可以得到了我们需要的html文件,现在需要处理得到的文件获取到我们需要的采集的数据。 对于html文档的解析,没有像XML那样的解析类,因为HTML文档有很多不成对的标签,很不严格。这个时候就需要采用其他的一些辅助类了,simplehtmldom是一个类似于JQuery方式操作HTML文档的解析类。可以很方便的得到想要的数据,可惜速度慢。这里不是我们这里讨论的重点,我主要使用正则来匹配我所需要的采集的数据,可以很快速的得到我需要采集的信息。 考... 阅读全文
posted @ 2013-04-02 12:08 黑睫毛膏 阅读(601) 评论(0) 推荐(0) 编辑
摘要: 用第一篇的get_html()实现简单的数据采集,由于是一个一个执行才采集数据的传输时间就会是所有页面下载的总时长,一个页面假设1秒,那么10个页面就是10秒了。所幸curl还提供了并行处理的功能。要写一个并行采集的函数,先要了解要采集什么样的页面,对采集的页面用什么请求,才能写出一个相对常用的函数。功能需求分析:返回什么?当然每一个页面的html集合成的数组传递什么参数?编写get_html()时,我们知道了可以用options数组来传递更多的curl参数,那么多页面同时采集函数的编写这种特性也得保留下来。什么类型的参数?无论是请求网页HTML,还是调用互联网api接口,get和post传递 阅读全文
posted @ 2013-03-22 17:23 黑睫毛膏 阅读(755) 评论(0) 推荐(2) 编辑
摘要: 在做数据采集时经常要使用到curl+正则的方式采集需要的数据根据自己的工作经验把自己写的一些常用自定义函数拿到博客园来分享如果有写得不恰当的地方请多多指教这是一个系列没办法在一两天写完所以一篇一篇的发布大致大纲:1.curl数据采集系列之单页面采集函数get_html2.curl数据采集系列之多页面并行采集函数get_htmls3.curl数据采集系列之正则处理函数get_matches4.curl数据采集系列之代码分离5.curl数据采集系列之并行逻辑控制函数web_spider、、、单页面采集在数据采集过程中是最常用的一个功能有时在服务器访问限制的情况下只能使用这种采集方式慢但是可以简单的 阅读全文
posted @ 2013-03-21 18:49 黑睫毛膏 阅读(743) 评论(0) 推荐(1) 编辑
摘要: CI的helper的加载顺序是:在$autoload['helper'] = array();这里可以加载 自己的全局的自定义函数文件 如:myfunc_helper.php 放到application\helpers文件夹下 也可以加载框架自带helper但是不建议这样做 需要的时候再加载 这也是CI框架的灵魂所在所谓的"扩展重写" 其实是利用判断是否函数存在来实现的 所以加载时 是先加载自定义的helper 再加载框架的 判断已存在就pass掉框架的同名函数但是如果你在$autoload['helper']里面已经自动加载了你要扩展重写的 阅读全文
posted @ 2013-03-20 17:58 黑睫毛膏 阅读(1100) 评论(0) 推荐(0) 编辑
摘要: Sublime Text 2 的自动保存功能 和模拟vi打开文件时就进入命令模式 而非insert模式打开Preferences--Settings-User 改变内容{"ignored_packages":[ ],//打开vi模式 "save_on_focus_lost": true,//自动保存文件 "vintage_start_in_command_mode": true//进入时使用命令模式}这样就能使用模拟的vi常用功能 基本感觉没什么太大的差别编辑器速度很快 外观也不错 阅读全文
posted @ 2013-03-20 11:23 黑睫毛膏 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 在项目中遇到了不规则图片墙的布局问题分析原理如下:1.imgdisplay:block;解决3pximg标签bug2.img设置height和width不然会出现下面的图片如果先加载上面的图片再加载时会推动图片向下移动3.父divposition:relative;让图片价格可以相对绝对定位4.子spanposition:absolute;right:5px;bottom:5px;让价格绝对父div定位5.为了实现效果把图片div放到3列大div里效果如下:<divid=”main”> <divclass=”g1”> <divclass=”item”> &l 阅读全文
posted @ 2013-03-19 13:36 黑睫毛膏 阅读(836) 评论(0) 推荐(1) 编辑