|
|
- $configs = array(
- 'name' => '糗事百科', //定义当前爬虫名称,String类型 可选设置
-
- 'log_show' => false, //是否显示日,为true时显示调试信息,为false时显示爬取面板,布尔类型 可选设置
-
- 'log_file' => data/qiushibaike.log, //日志文件路径,String类型 可选设置,
-
- 'log_type' => 'error', //显示和记录的日志类型,普通类型: info,警告类型: warn,调试类型: debug,错误类型: error,String类型 可选设置,log_type默认值为空,即显示和记录所有日志类型
-
- input_encoding' => 'GB2312', //输入编码,明确指定输入的页面编码格式(UTF-8,GB2312,…..),防止出现乱码,如果设置null则自动识别,String类型 可选设置,input_encoding默认值为null,即程序自动识别页面编码
-
- 'output_encoding' => 'GB2312', //输出编码,明确指定输出的编码格式(UTF-8,GB2312,…..),防止出现乱码,如果设置null则为utf-8,String类型 可选设置,output_encoding默认值为utf-8, 如果数据库为gbk编码,请修改为gb2312
- 'tasknum' => 5, //同时工作的爬虫任务数,需要配合redis保存采集任务数据,供进程间共享使用,整型 可选设置,tasknum默认值为1,即单进程任务爬取
- 'multiserver' => true, //多服务器处理,需要配合redis来保存采集任务数据,供多服务器共享数据使用,布尔类型 可选设置multiserver默认值为false
- 'serverid' => 2, //服务器ID,整型 可选设置,serverid默认值为1,
- 'save_running_state' => true, //保存爬虫运行状态,需要配合redis来保存采集任务数据,供程序下次执行使用,注意:多任务处理和多服务器处理都会默认采用redis,可以不设置这个参数,布尔类型 可选设置,save_running_state默认值为false,即不保存爬虫运行状态
- 'queue_config' => array( //redis配置,数组类型 可选设置,保存爬虫运行状态、多任务处理 和 多服务器处理 都需要redis来保存采集任务数据
- 'host' => '127.0.0.1',
- 'port' => 6379,
- 'pass' => '',
- 'db' => 5,
- 'prefix' => 'phpspider',
- 'timeout' => 30,
- ),
- 'proxy' => array('http://host:port'), //代理服务器,如果爬取的网站根据IP做了反爬虫, 可以设置此项
- 'interval' => 1000, //爬虫爬取每个网页的时间间隔,单位:毫秒,整型 可选设置
- 'timeout' => 5, //爬虫爬取每个网页的超时时间,单位:秒,整型 可选设置,timeout默认值为5秒
- 'max_try' => 5, // 重复爬取5次, 爬虫爬取每个网页失败后尝试次数,网络不好可能导致爬虫在超时时间内抓取失败, 可以设置此项允许爬虫重复爬取,整型 可选设置,max_try默认值为0,即不重复爬取,
- 'max_depth' => 5, //爬虫爬取网页深度,超过深度的页面不再采集.对于抓取最新内容的增量更新,抓取好友的好友的好友这类型特别有用,整型 可选设置,默认值为0,即不限制
- 'max_fields' => 100, //爬虫爬取内容网页最大条数,抓取到一定的字段后退出,抓取到一定的字段后退出,默认值为0,即不限制
-
- '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+\?s=\d+"
- ),
- 'fields' => array(
- array(
- // 抽取内容页的文章内容
- 'name' => "article_content",
- 'selector' => "//*[@id='single-next-link']",
- 'required' => true
- ),
- array(
- // 抽取内容页的文章作者
- 'name' => "article_author",
- 'selector' => "//div[contains(@class,'author')]//h2",
- 'required' => true
- ),
- ),
- );
- $spider = new phpspider($configs);
- $spider->start();
复制代码
|
|