找回密码
 立即注册
搜索
查看: 965|回复: 0

[面向对象] phpspider configs详解——之成员

[复制链接]

581

主题

110

回帖

4066

积分

管理员

积分
4066

众神之神

发表于 2023-11-6 11:57:36 | 显示全部楼层 |阅读模式
  1. <?php
  2. require_once __DIR__ . '/../autoloader.php';
  3. use phpspider\core\phpspider;
  4. use phpspider\core\requests;
  5. use phpspider\core\selector;

  6. /* Do NOT delete this comment */
  7. /* 不要删除这段注释 */
  8. $configs = array(
  9.     'name' => '糗事百科',   // 爬虫名称
  10.     'log_show' => false,    // 是否显示日志
  11.     'log_file' => 'data/index1.log',    // 日志文件路径
  12.     // 日志记录类型,默认值为空,即显示和记录所有日志类型
  13.     //普通类型: info
  14.     //警告类型: warn
  15.     //调试类型: debug
  16.     //错误类型: error
  17.     'log_type' => '',
  18.     //输入编码
  19.     //明确指定输入的页面编码格式(UTF-8,GB2312,…..),防止出现乱码,如果设置null则自动识别
  20.     'input_encoding' => null,
  21.     //输出编码
  22.     //明确指定输出的编码格式(UTF-8,GB2312,…..),防止出现乱码,如果设置null则为utf-8
  23.     'output_encoding' => null,
  24.     //并发数同时工作的爬虫任务数
  25.     //需要配合redis保存采集任务数据,供进程间共享使用
  26.     //默认值为1,即单进程任务爬取
  27.     'tasknum' => 1,
  28.     //多服务器处理
  29.     //需要配合redis来保存采集任务数据,供多服务器共享数据使用
  30.     //默认值为false,即单服务器任务爬取
  31.     'multiserver' => false,
  32.     //服务器ID,多服务器处理时需要,默认值为1
  33.     'serverid' => 1,
  34.     //保存爬虫运行状态
  35.     //需要配合redis来保存采集任务数据,供程序下次执行使用
  36.     //注意:多任务处理和多服务器处理都会默认采用redis,可以不设置这个参数
  37.     //默认值为false,即不保存爬虫运行状态
  38.     'save_running_state' => false,
  39.     //保存爬虫运行状态、多任务处理 和 多服务器处理 都需要redis来保存采集任务数据
  40.     'queue_config' => array(
  41.         'host'      => '127.0.0.1',
  42.         'port'      => 6379,
  43.         'pass'      => '',
  44.         'db'        => 5,
  45.         'prefix'    => 'phpspider',
  46.         'timeout'   => 30,
  47.     ),
  48.     //采集间隔,单位毫秒,设置爬取时间间隔为1秒
  49.     'interval' => 1000,
  50.     //请求超时时间,爬虫爬取每个网页的超时时间,单位秒
  51.     'timeout' => 5,
  52.     //最大重试次数,爬虫爬取每个网页失败后尝试次数,超过该次数则不再重试,网络不好可能导致爬虫在超时时间内抓取失败, 可以设置此项允许爬虫重复爬取
  53.     'max_try' => 2,
  54.     //最大抓取深度,爬虫抓取每个网页的最大抓取深度,超过该深度则不再继续抓取,可以设置此项允许爬虫抓取更深的网页
  55.     'max_depth' => 5,
  56.     //最大字段数,默认值为0,即不限制,如果设置此项,则爬虫最多抓取多少个字段,超过该数则不再继续抓取,可以设置此项允许爬虫抓取更多的数据
  57.     'max_fields' => 0,
  58.     //User-Agent列表,爬虫爬取网页所使用的浏览器类型
  59.     'user_agent' => array(
  60.         "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36",
  61.         "Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_3 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G34 Safari/601.1",
  62.         "Mozilla/5.0 (Linux; U; Android 6.0.1;zh_cn; Le X820 Build/FEXCNFN5801507014S) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 Chrome/49.0.0.0 Mobile Safari/537.36 EUI Browser/5.8.015S",
  63.     ),
  64.     //爬虫爬取网页所使用的伪IP,用于破解防采集
  65.     'client_ip' => array(
  66.         '192.168.0.2',
  67.         '192.168.0.3',
  68.         '192.168.0.4',
  69.     ),
  70.     //导出数据格式
  71.     //type:导出类型 csv、sql、db
  72.     //file:导出 csv、sql 文件地址
  73.     //table:导出db、sql数据表名
  74.     'export' => array(
  75.         'type' => 'csv',
  76.         'file' => './data/index.csv', // data目录下
  77.     ),
  78.     //mysql数据库配置
  79.     'db_config' => array(
  80.         'host'  => '127.0.0.1',
  81.         'port'  => 3306,
  82.         'user'  => 'root',
  83.         'pass'  => 'root',
  84.         'name'  => 'demo',
  85.     ),
  86.     //定义爬虫爬取哪些域名下的网页, 非域名下的url会被忽略以提高爬取速度
  87.     'domains' => array(
  88.         'qiushibaike.com',
  89.         'www.qiushibaike.com'
  90.     ),
  91.     //定义爬虫的入口链接, 爬虫从这些链接开始爬取,同时这些链接也是监控爬虫所要监控的链接
  92.     'scan_urls' => array(
  93.         'http://www.qiushibaike.com/'
  94.     ),
  95.     //定义内容页url的规则
  96.     //内容页是指包含要爬取内容的网页 比如http://www.qiushibaike.com/article/115878724就是糗事百科的一个内容页
  97.     'content_url_regexes' => array(
  98.         "http://www.qiushibaike.com/article/\d+"
  99.     ),
  100.     //定义列表页url的规则
  101.     //对于有列表页的网站, 使用此配置可以大幅提高爬虫的爬取速率
  102.     //列表页是指包含内容页列表的网页 比如http://www.qiushibaike.com/8hr/page/2/?s=4867046就是糗事百科的一个列表页
  103.     'list_url_regexes' => array(
  104.         "http://www.qiushibaike.com/8hr/page/\d+\?s=\d+"
  105.     ),
  106.     //定义内容页的抽取规则
  107.     //规则由一个个field组成, 一个field代表一个数据抽取项
  108.     'fields' => array(
  109.         array(
  110.             // 抽取内容页的文章内容
  111.             'name' => "article_content",
  112.             'selector' => "//*[@id='single-next-link']",
  113.             'required' => true
  114.         ),
  115.         array(
  116.             // 抽取内容页的文章作者
  117.             'name' => "article_author",
  118.             'selector' => "//div[contains(@class,'author')]//h2",
  119.             'required' => true
  120.         ),
  121.     ),
  122. );
  123. $spider = new phpspider($configs);
  124. $spider->start();
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|十三博客 ( 鲁ICP备2023000528号 )

GMT+8, 2026-6-1 17:27 , Processed in 0.073384 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表