PHP爬虫 -- 013 PHP+Medoo

  • 官网:medoo.lvtao.net/
  • 安装: composer require catfan/Medoo
<?php

// 如果你使用php的依赖安装。可以使用以下方法自动载入
require 'vendor/autoload.php';
 
use Medoo\Medoo;
 
// 初始化配置
$database = new Medoo([
    'database_type' => 'mysql',
    'database_name' => 'demo_db',
    'server' => 'localhost',
    'username' => 'root',
    'password' => 'root',
    'charset' => 'utf8'
]);
 
// 插入数据示例
$database->insert('users', [
    'name' => 'foo',
    'address' => 'foo@bar.com',
    'age' => 25
]);
复制代码

使用medoo插入数据

<?php

// 如果你使用php的依赖安装。可以使用以下方法自动载入
require 'vendor/autoload.php';
 
use Medoo\Medoo;
 
// 初始化配置
$database = new Medoo([
    'database_type' => 'mysql',
    'database_name' => 'demo_db',
    'server' => 'localhost',
    'username' => 'root',
    'password' => 'root',
    'charset' => 'utf8'
]);
 
// 插入数据示例
$database->insert('users', [
    'name' => 'foo',
    'address' => 'foo@bar.com',
    'age' => 25
]);


echo $database->id();
复制代码

使用medoo批量插入数据

<?php

// 如果你使用php的依赖安装。可以使用以下方法自动载入
require 'vendor/autoload.php';
 
use Medoo\Medoo;
 
// 初始化配置
$database = new Medoo([
    'database_type' => 'mysql',
    'database_name' => 'demo_db',
    'server' => 'localhost',
    'username' => 'root',
    'password' => 'root',
    'charset' => 'utf8'
]);
 
// 插入数据示例
$database->insert('users', [[
    'name' => 'foo',
    'address' => 'foo@bar.com',
    'age' => 25
],[
    'name' => 'foo1',
    'address' => 'foo1@bar.com',
    'age' => 22
]]);
复制代码

使用medoo删除数据

<?php

// 如果你使用php的依赖安装。可以使用以下方法自动载入
require 'vendor/autoload.php';
 
use Medoo\Medoo;
 
// 初始化配置
$database = new Medoo([
    'database_type' => 'mysql',
    'database_name' => 'demo_db',
    'server' => 'localhost',
    'username' => 'root',
    'password' => 'root',
    'charset' => 'utf8'
]);
 
$data = $database->delete('users', [
    "name"=>'foo'
]);


echo $data->rowCount();
复制代码

使用medoo查询数据

<?php

// 如果你使用php的依赖安装。可以使用以下方法自动载入
require 'vendor/autoload.php';
 
use Medoo\Medoo;
 
// 初始化配置
$database = new Medoo([
    'database_type' => 'mysql',
    'database_name' => 'demo_db',
    'server' => 'localhost',
    'username' => 'root',
    'password' => 'root',
    'charset' => 'utf8'
]);
 
$data = $database->select('users', '*');


var_dump($data);
复制代码

使用medoo修改数据

<?php

// 如果你使用php的依赖安装。可以使用以下方法自动载入
require 'vendor/autoload.php';
 
use Medoo\Medoo;
 
// 初始化配置
$database = new Medoo([
    'database_type' => 'mysql',
    'database_name' => 'demo_db',
    'server' => 'localhost',
    'username' => 'root',
    'password' => 'root',
    'charset' => 'utf8'
]);
 
$data = $database->update('users', [
    'name'=>'foo'
],[
    'name'=>'foo1'
]);


echo $data->rowCount();
复制代码

使用medoo改写原来的代码

<?php
libxml_use_internal_errors(true);
require 'vendor/autoload.php';

use Medoo\Medoo;
use QL\QueryList;

function get_content($url)
{
    return QueryList::get($url)->find('article.post.type-post.status-publish.format-standard.hentry.category-uncategorized')->text();
}

function get_tilte_date($url)
{
    return QueryList::get($url)->rules([ //设置采集规则
        'date' => ['header > div > a > time.entry-date.published', 'text'],
        'title' => ['header > h2 > a', 'text'],
        'url' => ['header > h2 > a', 'href'],
    ])->queryData();
}

function start($url)
{
    $data = get_tilte_date($url);
    foreach ($data as $key => $value) {
        $data[$key]['content'] = get_content($value['url']);
    }
    save_data($data);
}

function insert_num($title, $date, $content)
{
    // 初始化配置
    $database = new Medoo([
        'database_type' => 'mysql',
        'database_name' => 'demo_db',
        'server' => 'localhost',
        'username' => 'root',
        'password' => 'root',
        'charset' => 'utf8',
    ]);

    $data = $database->insert('users', [
        'date'=>$date,
        'title'=>$title,
        'content'=>$content
    ]);
}

function save_data($content_array)
{
    foreach ($content_array as $key => $value) {
        insert_num($value['title'], $value['date'], $value['content']);
    }
}
start("https://wordpress-edu-3autumn.localprod.forc.work/");
复制代码

作业

  • 使用medoo改写原来电子书城的代码
  • 为后期使用medoo写项目做准备
我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章