利用phpspider爬取网站数据
本文实例原址:PHPspider爬虫10分钟快速教程
在我们的工作中可能会涉及到要到其它网站去进行数据爬取的情况,我们这里使用phpspider这个插件来进行功能实现。
1、首先,我们需要php环境,这点不用说。
2、安装composer,这个网上教程很多,这里不多做赘述,一面显得篇幅太长。
3、利用composer进行phpspider安装。
在安装的过程中,我们可能会遇到composer require长时间没反应的情况,这样的话。我们就需要换到中国镜像。方法如下:
镜像配置好后,我们就进行phpspider的安装了。
新建一个文件夹,这里暂时取名为composerInstallDemo。
打开文件夹,并在文件夹地址栏中输入“cmd”直接进入该文件夹的cmd模式。
   
  
  
再在dos窗口中输入一下命令:
  composer require owner888/phpspider
出现一下界面,则证明,phpspider已经安装成功。
  
4、编写自己的第一个爬虫程序。
打开composerInstallDemo文件夹,在文件夹下新建一个php文件(名字随意,这里我创建的是index.php)
<?php
require '/vendor/autoload.php';
use phpspider\core\phpspider;
/* Do NOT delete this comment */
/* 不要删除这段注释 */
$configs = array(
'name' => '简书',
'log_show' =>false,
'tasknum' => 1,
//数据库配置
'db_config' => array(
'host'  => '127.0.0.1',
'port'  => 3306,
'user'  => 'root',
'pass'  => '',
'name'  => 'demo',
),
'export' => array(
'type' => 'db',
'table' => 'jianshu',  // 如果数据表没有数据新增请检查表结构和字段名是否匹配
),
//爬取的域名列表
'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+"
),
//内容页实例
//  \d+  指的是变量
'content_url_regexes' => array(
    "https://www.jianshu.com/p/\d+",
),
'max_try' => 5,
'fields' => array(
    array(
        'name' => "title",
        'selector' => "//h1[@class='title']",
        'required' => true,
    ),
    array(
        'name' => "content",
        'selector' => "//div[@class='show-content-free']",
        'required' => true,
    ),
),
);
$spider = new phpspider($configs);
$spider->start();
稍微解释一下一下句法的含义:
//h1[@class='title']
获取所有class值为title的h1节点
//div[@class='show-content-free']
获取所有class值为show-content-free的div节点
具体为什么这么写呢?自己看简书的html源码吧。
打完代码后,记得根据要抓取的内容建立对应的数据库、数据表,字段要能对对上。
  数据库如下:
  


利用phpspider爬取网站数据的更多相关文章
- 利用linux curl爬取网站数据
		看到一个看球网站的以下截图红色框数据,想爬取下来,通常爬取网站数据一般都会从java或者python爬取,但本人这两个都不会,只会shell脚本,于是硬着头皮试一下用shell爬取,方法很笨重,但旨在 ... 
- Python 利用 BeautifulSoup 爬取网站获取新闻流
		0. 引言 介绍下 Python 用 Beautiful Soup 周期性爬取 xxx 网站获取新闻流: 图 1 项目介绍 1. 开发环境 Python: 3.6.3 BeautifulSoup: ... 
- python爬取网站数据
		开学前接了一个任务,内容是从网上爬取特定属性的数据.正好之前学了python,练练手. 编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲 ... 
- python爬取网站数据保存使用的方法
		这篇文章主要介绍了使用Python从网上爬取特定属性数据保存的方法,其中解决了编码问题和如何使用正则匹配数据的方法,详情看下文 编码问题因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这 ... 
- C# 关于爬取网站数据遇到csrf-token的分析与解决
		需求 某航空公司物流单信息查询,是一个post请求.通过后台模拟POST HTTP请求发现无法获取页面数据,通过查看航空公司网站后,发现网站使用避免CSRF攻击机制,直接发挥40X错误. 关于CSRF ... 
- 手把手教你用Node.js爬虫爬取网站数据
		个人网站 https://iiter.cn 程序员导航站 开业啦,欢迎各位观众姥爷赏脸参观,如有意见或建议希望能够不吝赐教! 开始之前请先确保自己安装了Node.js环境,还没有安装的的童鞋请自行百度 ... 
- Node爬取网站数据
		npm安装cheerio和axios npm isntall cheerio npm install axios 利用cheerio抓取对应网站中的标签根据链接使用axios获取对应页面数据 cons ... 
- 3.15学习总结(Python爬取网站数据并存入数据库)
		在官网上下载了Python和PyCharm,并在网上简单的学习了爬虫的相关知识. 结对开发的第一阶段要求: 网上爬取最新疫情数据,并存入到MySql数据库中 在可视化显示数据详细信息 项目代码: im ... 
- 使用node.js如何爬取网站数据
		数据库又不会弄,只能扒扒别人的数据了. 搭建环境: (1).创建一个文件夹,进入并初始化一个package.json文件. npm init -y (2).安装相关依赖: npm install ... 
随机推荐
- 黑盒测试实践——day03
			一.任务进展情况 目前基本确定选取的测试工具是Testwriter,测试的web系统还在待定状态,小组成员都在网上搜集相关知识,学习相关的测试技术. 二.存在的问题 Testwriter ... 
- PHP算法学习(4) 随机算法
			svn地址:svn://gitee.com/zxadmin/live_z <?php /* * 随机数算法 * 伪随机数 根据分布概率 */ final class Random { /* * ... 
- Python 学习笔记6 变量-字典
			字典是python中一个十分重要的变量,他是一个可变的容器对象.通过一组key(键)和value(值)对组成一个元素. 组成形式为{'key':'value', 'key':'value'}.整个字典 ... 
- Python文件的读写
			一.写数据 f = open("hello.txt", "w") f.write("hello world python!") f.clos ... 
- MGR
			单主模式 参数修改 server_id=1 gtid_mode=ON enforce_gtid_consistency=ON binlog_checksum=NONE log_bin=binlog l ... 
- 2019年春季学期第二周作业 基础作业 请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。 输入: 请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。 输出 在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件
			~~~ include<stdio.h> include<stdlib.h> int main() { FILE*fp; int i=0,max=0,j=0,maxb=0; i ... 
- ionic3 添加多个自定义组件
			往往我们创建自定义组件一般都不止只会创建一个自定义组件,创建多个方式如下. 1.创建自定义组件 ionic g component select-car-no ionic g component ae ... 
- 最长连续子序列(dp,分而治之递归)
			5227: 最大子列和问题 时间限制(普通/Java):1000MS/3000MS 内存限制:65536KByte 总提交: 76 测试通过:46 描述 给定KK个整数组 ... 
- 关于Eureka客户端连接服务端报错问题Cannot execute request on any known server
			对于Eureka包这个错误问题:Cannot execute request on any known server,总的原因就是连接Eureka连接服务端的Url地址不对,Url地址不对很很多情况. ... 
- 如何创建自己的composer包
			composer中文网 :https://www.phpcomposer.com/ 一.前期准备: composer 安装 Windows安装: 1.下载安装包,https://getcomposer ... 
