基于phpspider爬虫框架,抓取简书文章实例(亲测成功)

基于phpspider爬虫框架,抓取简书文章实例(亲测成功)

大家好,又见面了,我是全栈君。

<?php

/**
 * 这个是成功的案例插入数据库
 */

require_once __DIR__ . '/../autoloader.php';

use phpspider\core\phpspider;

/* Do NOT delete this comment */
/* 不要删除这段注释 */ // 不清楚他这个意思,不知道为啥不能删除
//定义一个数组
$configs = array(
    'name' => '简书',
    'log_show' => true,
    'tasknum' => 8,
    // 数据库配置
    'db_config' => array(
        // 数据url地址
        'host' => '127.0.0.1',
        // 数据库端口
        'port' => 3306,
        // 数据库登录账号
        'user' => '***',
        // 密码
        'pass' => '**',
        // 数据库名 切记这个是数据库的名字要一致。可以随意更改,但是要和数据库的名字一致
        'name' => 'lxw_db'),
    'export' => array(
        'type' => 'db',
        'table' => 'jianshu' //添加表, jianshu ,
    ),
    'max_try' => 5,

// 爬取的页面
    'domains' => array('jianshu', 'www.jianshu.com'),
// 抓取的起点
    'scan_urls' => array('https://www.jianshu.com/c/V2CqjW?utm_medium=index-collections&utm_source=desktop'),
// 列表页实例
    'list_url_regexes' => array("https://www.jianshu.com/c/\d+"),
//内容页实例
    'content_url_regexes' => array("https://www.jianshu.com/p/\d+"),

    'fields' => array(
        // 表结构,也就是表字段
        array(
            'name' => 'title',
            'selector' => "//h1",
            //获取所有class值为title的h1节点
            'required' => true
        ),
        array(
            'name' => 'content',
            //获取所有class值为show-content-free的div节点
            'selector' => "//article",
            'required' => true
        ),
    )
);
$spider = new phpspider($configs);
$spider->start();

基于phpspider爬虫框架,抓取简书文章实例(亲测成功)基于phpspider爬虫框架,抓取简书文章实例(亲测成功)s

爬取[糗事百科]
<?php
/**
 *User: lxw
 *Date: 2020-12-29
 */
require_once __DIR__ . '/../autoloader.php';
use phpspider\core\phpspider;
/* Do NOT delete this comment */
/* 不要删除这段注释 */ // 不清楚他这个意思,不知道为啥不能删除

$configs = array(
    'name' => '糗事百科',
    'log_show' => true,
    'tasknum' => 1,
    'domains' => array(
        'qiushibaike.com',
        'www.qiushibaike.com'
    ),
    'scan_urls' => array(
        'http://www.qiushibaike.com'
    ),
    'content_url_regexes' => array(
        "http://www.qiushibaike.com/article/\d+"
    ),
    'list_url_regexes' => array(
        "http://www.qiushibaike.com/8hr/page/\d+"
//        "http://www.qiushibaike.com/8hr/page/\d+\?s=\d+"
    ),


    'max_try' => 5,
    // 数据库配置
    'db_config' => array(
        'host' => '127.0.0.1',
        'port' => 3306,
        'user' => '**',
        'pass' => '**',
        'name' => 'lxw_db'
    ),
    'export' => array(
        'type' => 'db',
        'table' => '360ky' //添加表, jianshu ,
    ),
    'fields' => array(
        array(
            // 抽取内容页的文章内容
            'name' => "title",
            'selector' => "//h1[contains(@class,'article-title')]",
            'required' => true
        ),
        array(
            // 抽取内容页的文章作者
            'name' => "author",
            'selector' => "//span[contains(@class,'side-user-name')]",
            'required' => true
        ),
        array(
            // 抽取内容页的文章内容
            'name' => "content",
            'selector' => "//*[@id='single-next-link']",
            'required' => true
        ),
        array(
            // 抽取内容页的头像
            'name' => "headimg",
            'selector_type' => 'css',
            'selector' => ".side-left-userinfo>img",
            'required' => true
        ),
    ),
);

$spider = new phpspider($configs);
$spider->start();

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111621.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ROC曲线详解

    ROC曲线详解最近学习遇到这个概念,看了半天总算明白了这个曲线的意义。—————————————————————————————————分割线1ROC曲线的概念受试者工作特征曲线(receiveroperatingcharacteristiccurve,简称ROC曲线),又称为感受性曲线(sensitivitycurve)。得此名的原因在于曲线上各点反映着相同的感受性,它们都是对同一信号刺激的反应

    2022年5月17日
    62
  • 直接计算下面两个序列的卷积和_快速解锁键盘是哪个键

    直接计算下面两个序列的卷积和_快速解锁键盘是哪个键算法70—-只有两个键的键盘【动态规划】

    2022年4月21日
    53
  • 编写java程序打印菱形_java菱形代码

    编写java程序打印菱形_java菱形代码importjava.util.Scanner;publicclass打印菱形{publicstaticvoidmain(String[]args){/**菱形**************************/ScannerinputScanner=newScanner(System.in);System.out.prin…importjava.util.Scanner;publicc…

    2022年9月29日
    5
  • matlab求解时滞微分方程「建议收藏」

    matlab求解时滞微分方程「建议收藏」matlab求解时滞微分方程,dde23调用格式:sol=dde23(ddefun,lags,history,tspan);–ddefun函数句柄,求解微分方程y’=f(t,y(t),y(t-τ1),…,y(t-τk))必须写成下面形式:dydt=ddefun(t,y,Z);其中t对应当前时间t,y为列向量,近似于y(…

    2022年10月1日
    4
  • c语言程序设计谭浩强第五版第六章答案_c语言程序设计课后题答案第五版

    c语言程序设计谭浩强第五版第六章答案_c语言程序设计课后题答案第五版C语言程序设计第五版谭浩强著第七章答案1.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。如有问题欢迎下方留言评论#include<stdio.h>voidmain(void){intmaxgy(intx,inty);intmingb(intx,i…

    2025年7月15日
    4
  • ps去色的用法_索尼已经断气了.jpg

    ps去色的用法_索尼已经断气了.jpg原图1、ctrl+shift+u即去色2、ctrl+u降饱和度到最低3、图像——调整——渐变映射(前景色为黑色,背景色为白色或设置渐变为从黑到白)4、图像——调整——通道混合器勾选单色框5、图像——模式——灰度;再图像——模式——RGB6、图像——计算(调整好)——进入通道面板——复制Alpha1通道入图层7、进入通道面板——复制R、G、B任一效果最好的单色通道入图层8

    2022年10月5日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号