将query存进数组 php,thinkphp下通过QueryList获取网站指定数据并封装成数组,存入数据库...

1.安装QueryList插件到自己的项目中,一般在vendor文件夹中

[geandeiMac:Html gean$ cd /Volumes/程序开发/www/Html/myapp/

[geandeiMac:Html myapp gean$ composer require jaeger/querylist

执行上面的代码会自动安装插件

2.获取指定网站某div下的数据(以fx168为例获取新闻列表以及每篇文章的content)

namespace app\controller;

use app\BaseController;

use QL\QueryList;

class Demo extends BaseController

{

public function index()

{

$result = [

'status' => 1,

'message' => 'ok',

'code' => 200

];

return json($result);

}

//通过QueryList插件采集新闻内容

public function GetHtmlCode()

{

$url = 'https://news.fx168.com/top/';

$rules = [

// 采集文章链接

'href' => ['.yy_div1>a', 'href'],

// 采集文章标题

'title' => ['.yy_pp2>a', 'text'],

// 采集图片

'img' => ['.yy_div1>a>img', 'slt'],

//采集摘要

'tags' => ['.yy_div2 .yy_pp3>a', 'text'],

//采集时间

'date' => ['.yy_span2', 'text']

];

$range = '#yy_sticker ul li';

$rt = QueryList::get($url)->rules($rules)->range($range)->query()->getData();

$data = $rt->all();

dump($rt);

foreach($data as $k=>$v){

$data[$k] = array_filter($v);

}

$data = array_filter($data);

foreach ($data as $key => $k){

$content_url = $data[$key]['href'];

$c_rules = [

//采集文章内容

'content' => ['.TRS_Editor', 'html'],

];

$c_range = '.text';

$c_rt = QueryList::get($content_url)->rules($c_rules)->range($c_range)->query()->getData();

$content = $c_rt->all();

$data[$key]['content_url'] = $content_url;

$data[$key]['content'] = $content;

}

dump($data);

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThinkPHP5的database.php配置文件中,可以配置多个数据库连接。具体实现方式如下: 1. 在config目录下创建一个database.php文件,用于存储数据库连接信息。 2. 在database.php文件中使用return返回一个数组数组中包含多个数据库连接信息。 示例代码如下: ```php <?php return [ // 默认数据库连接信息 'default' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'test', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', ], // 第二个数据库连接信息 'db2' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'test2', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', ], ]; ``` 3. 在数据库操作时,可以指定使用哪个数据库连接。例如: ```php <?php // 使用默认数据库连接 Db::name('user')->where('status',1)->select(); // 使用db2数据库连接 Db::connect('db2')->name('user')->where('status',1)->select(); ``` 以上就是在ThinkPHP5中配置多个数据库连接的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值