php爬虫爬取数据并存储至数据库

准备:php环境,phpspider请自行下载

下载地址:https://github.com/owner888/phpspider

文档:https://doc.phpspider.org/configs-members.html

在phpspider,demo文件里面新建一个php文件,my_spider.php,代码复制进去,在命令函下执行php my_spider.php能看到打印信息,数据库文件根据自己需要建一两个字段测试一下就好,这里就不给出数据库sql文件了

直接上代码:

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

use phpspider\core\requests;

use phpspider\core\selector;

use \phpspider\core\db;

use \phpspider\core\queue;

/* Do NOT delete this comment */

/* 不要删除这段注释 */

//数据库配置

$db_config = array(

'host' => '127.0.0.1',

'port' => 3306,

'user' => 'root',

'pass' => 'root',

'name' => 'news',

);

// 数据库配置

$db = db::set_connect('default', $db_config);

// 数据库链接

//db::init_mysql();

//redis配置

$redis_config = array(

'host' => '127.0.0.1',

'port' => 6379,

'pass' => '',

'db' => 5,

'prefix' => 'phpspider',

'timeout' => 30,

);

queue::set_connect('redis',$redis_config);

queue::select(5);

//抓取虎扑网nba数据

$html = requests::get('https://voice.hupu.com/nba');

获取列表资讯链接

$url = selector::select($html,"//div[@class='voice-main']//li//h4//a/@href");

//$url = array_reverse($url);

//定义数组

$spider_data = [];

foreach ($url as $key => $v){

//通过连接抓取内部内容

$detail_html = requests::get($v);

//保存地址

$spider_data[$key]['url'] = $v;

//抓取标题

$spider_data[$key]['title'] = selector::select($detail_html,"/html/body/div[4]/div[1]/div[1]/h1");;

//获取封面图

$spider_data[$key]['cover'] = selector::select($detail_html,"/html/body/div[4]/div[1]/div[2]/div/div[1]/img/@src");

//图片数组

$spider_data[$key]['imgs'] =selector::select($detail_html,"/html/body/div[4]/div[1]//img/@src");

if(is_array($spider_data[$key]['imgs'])){

$spider_data[$key]['imgs'] = json_encode($spider_data[$key]['imgs']);

}else{

$spider_data[$key]['imgs'] = json_encode([$spider_data[$key]['imgs']]);

}

//获取内容

$spider_data[$key]['content'] = selector::select($detail_html,"/html/body/div[4]/div[1]/div[2]/div");

//获取时间

$spider_data[$key]['create_time'] = strtotime(selector::select($detail_html,"//*[@id=\"pubtime_baidu\"]"));

$spider_data[$key]['update_time'] = strtotime(selector::select($detail_html,"//*[@id=\"pubtime_baidu\"]"));

//获取来源

$spider_data[$key]['source'] = selector::select($detail_html,"//*[@id=\"source_baidu\"]/a");

//频道id

$spider_data[$key]['channel_id'] = 2;

//状态

$spider_data[$key]['status'] = 1;

//类型

$spider_data[$key]['type'] = 1;

//随机获取作者id

$admin_arr = array(23,24,25,26);

$admin_key = array_rand($admin_arr);

$spider_data[$key]['admin_id'] = $admin_arr[$admin_key];

//tag_id nba,先匹配,再分类

if(strpos($spider_data[$key]['content'],'采访') !== false || strpos($spider_data[$key]['content'],'记者') || strpos($spider_data[$key]['content'],'报道')){

$spider_data[$key]['tag_id'] = 103;

}else if(strpos($spider_data[$key]['content'],'伤') !== false){

$spider_data[$key]['tag_id'] = 3;

}else if(strpos($spider_data[$key]['content'],'签下') !== false || strpos($spider_data[$key]['content'],'签约') !== false || strpos($spider_data[$key]['content'],'引援') !== false ||

strpos($spider_data[$key]['content'],'转会') !== false){

$spider_data[$key]['tag_id'] = 1;

}else{

//随机获取分类

$tag_arr = array(5,13);

$tag_key = array_rand($tag_arr);

$spider_data[$key]['tag_id'] = $tag_arr[$tag_key];

}

}

var_dump($spider_data);exit;

本博客爬取的是虎扑资讯信息,如果导致爬取目标网站瘫痪,与本博无关,不做任何责任申明,只为技术。

php 爬数据库,php爬虫爬取数据并存储至数据库相关推荐

  1. python爬虫开发数据库设计入门经典_Python3实现的爬虫爬取数据并存入mysql数据库操作示例...

    本文实例讲述了Python3实现的爬虫爬取数据并存入mysql数据库操作.分享给大家供大家参考,具体如下: 爬一个电脑客户端的订单.罗总推荐,抓包工具用的是HttpAnalyzerStdV7,与chr ...

  2. python爬取电影网站存储于数据库_python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析...

    字符串常用方法 # 去掉左右空格 'hello world'.strip() # 'hello world' # 按指定字符切割 'hello world'.split(' ') # ['hello' ...

  3. Python爬取豆瓣音乐存储MongoDB数据库(Python爬虫实战1)

    Python爬取豆瓣音乐存储MongoDB数据库(Python爬虫实战1) 1.  爬虫设计的技术 1)数据获取,通过http获取网站的数据,如urllib,urllib2,requests等模块: ...

  4. python爬取新闻并归数据库_Python爬取数据并写入MySQL数据库操作示例

    Python爬取数据并写入MySQL数据库的实例 首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元 ...

  5. python爬取mysql数据_Python爬取数据并写入MySQL数据库的实例

    Python爬取数据并写入MySQL数据库的实例 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python爬取数据并写入MySQL数据库的实例.txt ] (友 ...

  6. python爬取新闻存入数据库_Python爬取数据并写入MySQL数据库的实例

    按 F12 或 ctrl+u 审查元素,结果如下: 结构很清晰简单,我们就是要爬 tr 标签里面的 style 和 tr 下几个并列的 td 标签,下面是爬取的代码: #!/usr/bin/env p ...

  7. python爬取大众点评评论_python爬虫抓取数据 小试Python——爬虫抓取大众点评上的数据 - 电脑常识 - 服务器之家...

    python爬虫抓取数据 小试Python--爬虫抓取大众点评上的数据 发布时间:2017-04-07

  8. 如何使用Python爬虫抓取数据?

    Python爬虫应用十分广泛,无论是各类搜索引擎,还是日常数据采集,都需要爬虫的参与.其实爬虫的基本原理很简单,今天小编就教大家如何使用Python爬虫抓取数据,感兴趣的小伙伴赶紧看下去吧! 工具安装 ...

  9. 【入门-R爬虫抓取数据】文本挖掘之数据爬虫

    今天主要介绍一下,文本挖掘的数据获取方式,上一篇很多人在问数据如何获取,今天给大家介绍下数据获取的方式,主要利用爬虫抓取数据.基于,之前对python爬虫没接触过,尝试过用R爬虫,今天就来介绍下,如何 ...

最新文章

  1. TensorFlow指定CPU和GPU方法
  2. sql server varchar最大长度_来自灵魂的拷问—知道什么是SQL执行计划吗?
  3. linux卸载dev中的设备,Linux /dev 常见特殊设备介绍与应用
  4. Crash/Instance Recovery与Media Recovery的本质区别
  5. delphi初级教程之delphi断点调试一
  6. .NetCore从零开始使用Skywalking分布式追踪系统
  7. React开发(124):ant design学习指南之form中的this.props.form
  8. 天池 在线编程 到达终点
  9. android jni示例_Android CollapsingToolbarLayout示例
  10. 好险!一入职,就遇到MySQL这么大Bug!差点背锅走人~
  11. Windos10+VS2019+Qt5.14+Coin3D+SoQt
  12. 祝贺swm8023刷HDU-Steps登顶+突破新Section,14.2不是传说中的高级计算几何,而是数学~~...
  13. 超长攻略,机器学习基石!带你涉足王者之巅
  14. 计算机如何接6块显卡,双显卡怎么切换到独立显卡 5步轻松搞定【图文教程】
  15. Trie树【p2264】情书
  16. 【Python实现人脸比对】——打造智能人脸识别系统
  17. Python:爬山法/随机重启爬山法/允许侧移的爬山法解决八皇后问题
  18. 在1705年第一个电灯泡是如何被发明的?
  19. word里的表格出现换页表格不会自动跳到下一页(已解决)
  20. 记录druid整合springboot+logback配置打印sql日志

热门文章

  1. Windows句柄和指针的区别
  2. ebpf_exporter - Prometheus exporter for custom eBPF metrics
  3. 2021年8月下旬好文收藏
  4. Linux内核深入理解定时器和时间管理(3):tick 广播 框架 和 dyntick
  5. 《深入浅出DPDK》读书笔记(十二):DPDK虚拟化技术篇(半虚拟化Virtio)
  6. linux shell学习(一)第一个hello world
  7. java如何配置maven路径_如何配置Eclipse构建路径以使用Maven依赖项?
  8. gdb 调试java进程_使用GDB调试JNI代码
  9. RecycleView的Item Animator动画
  10. delete index mysql_为什么MySQL不建议delete删除数据「心得分享」