牛骨文教育服务平台(让学习变的简单)
博文笔记

laravel框架使用phpQuery库来实现网页抓取

创建时间:2017-04-09 投稿人: 浏览次数:1338

想做一个网页抓取的功能,底层使用PHP的laravel框架。

这里使用phpQuery库来实现网页抓取,这里不做介绍。

需要了解的可以百度,或者等我填坑。

下载最新版本可以前往https://code.google.com/p/phpquery/

不能科学上网的可以直接点击我上传的下载包- -|怎么上传。。。自己百度吧,目前最新的版本是phpQuery-0.9.5.386

-------------------------------------

先申明下我用的版本:

laravel5.1;

phpQuery-0.9.5.386;

-------------------------------

开始以为只要把库整个包扔进laravel工程就能用了,果然是图样图森破。

鉴于laravel框架封装的良好行,这里需要设置laravel的autoload->class map

-------

1、首先在app目录下创建一个新的文件夹,命名libs(可自定义)

2、(可选)考虑到后面可能会引用很多库,so,在libs下再创建一个phpQuery文件夹

3、找到根目录下的composer.json文件

4、找到composer.json中定义的(看我备注)

[php] view plain copy print?
  1. ”autoload”: {  
  2.         ”classmap”: [  
  3.             ”database”,  
  4.             ”app/libs/phpQuery” //加我 加我 加我  
  5.         ],  
  6.         ”psr-4”: {  
  7.             ”App\”: ”app/”  
  8.         }  
  9.     },  
"autoload": {
        "classmap": [
            "database",
            "app/libs/phpQuery" //加我 加我 加我
        ],
        "psr-4": {
            "App\": "app/"
        }
    },
5、运行终端,cd到项目路径,执行[php] view plain copy print?
  1. composer dumpautoload  
composer dumpautoload
--------------------------

然后就能在项目中愉快的使用phpQuery了,简单的用法如下:

[php] view plain copy print?
  1. use phpQuery;  
use phpQuery;

[php] view plain copy print?
  1. phpQuery::newDocumentFile(‘http://www.baidu.com’);  
  2. companies</span><span>&nbsp;=&nbsp;pq(</span><span class="string">"body"</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">return</span><span>&nbsp;</span><span class="vars">companies;  
phpQuery::newDocumentFile("http://www.baidu.com");
$companies = pq("body");
return $companies;


注:如果要再加其他第三方库,重复2-5的步骤即可。


最后,分享这个家伙的博客给大家http://fideloper.com/laravel-4-application-setup-app-library-autoloading,如何使用自己创建的库:)


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。