精华内容
下载资源
问答
  • Python 爬虫数据存储方式 文本形式存储(比如 txt、csv) 数据库(比如 MongoDB、MySQL) 文件系统(比如 Hadoop HDFS——大数据分布式文件系统) 三种方法各有自己的优缺点。 文本形式 优点:方便快捷,随时使用,...

    概述

    数据库作为数据存储时的选择

    概述

    Python 爬虫数据存储方式

    1. 文本形式存储(比如 txt、csv)
    2. 数据库(比如 MongoDB、MySQL)
    3. 文件系统(比如 Hadoop HDFS——大数据分布式文件系统)

    三种方法各有自己的优缺点。

    文本形式

    优点:方便快捷,随时使用,不需要第三方的支持。
    缺点:健壮性和扩展性差,不适用于大规模数据存储。

    数据库

    优点:良好的扩展性,使用广泛。
    缺点:数据库选择多,需要第三方支持,需要学习一定程度的技术。

    文件系统

    优点:具备以下特性:容错性,可扩展性,高效性和可靠性。
    缺点:技术要求高。

    数据库作为数据存储时的选择

    在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库和非关系型数据库。下图简单介绍了一下每种类型常见的数据库。
    在这里插入图片描述
    关系型数据库的详细介绍可以参看几种主流数据库类型简介,非关系型数据库的分类就比较多了,分为上述四种,从名称可以看出,每种数据库都有自己独特的存储方式。

    关于这四种 NoSQL,可以参看一些文档进行了解其中的区别。

    五大存储模型关系模型、键值存储、文档存储、列式存储、图形数据库,该篇文章按照存储模型的不同,将数据库划分为五大类,这和上图的分类稍微有些差别,文章当中简单的介绍了每种存储模型的特点和使用场景。

    Amazon Web Services (AWS) 上有关于某些类型数据库的实际应用,键值数据库文档数据库图形数据库

    分享几篇文章便于大家理解每种数据库的存储模式。

    虽然有那么多种数据库,可是 Python 爬虫中比较常用的就 Redis、MongoDB 和 MySQL,所以接下来讲解这三种分别适用于什么场景,为什么选择它。

    Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。Redis 是 NoSQL 技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色。

    Redis 特性:

    • Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
    • Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。
    • Redis 支持数据的备份,即 master-slave 模式的数据备份。

    由于 Redis 的所有数据是放在内存中的(内存数据库),所以读写速度极快。鉴于该种性能极高,所以 Scrapy 框架选择和 Redis 配合使用,用来实现分布式爬虫。

    MongoDB

    MongoDB 是一种非关系型数据库,数据的存储基本单元为文档,因为其存储数据的方式以键值对(也就是 Python 中的字典)的形式展开,因此这种数据库非常便于 Python 数据存储。

    MongoDB 有以下特性:

    • 面向集合(Collenction-Oriented):意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table)。
    • 模式自由(schema-free):意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。
    • 查询与索引方式灵活,是最像 SQL 的 NoSQL

    选择 MongoDB 作为爬虫数据存储而非是 Mysql 的原因:

    • 对一致性要求不高
    • 遇到数据字段发生变化时, 可以更方便的添加字段, 无需改变以前的数据结构.

    MongoDB 不要求数据存储的 Schema(在数据库中,Schema 是数据库的组织和结构),因为爬取的数据不规范,容错性比较高。

    展开全文
  • Java爬虫数据库GUI

    2018-12-12 11:46:32
    java爬虫爬取大学信息,连接远程数据库,并实现GUI界面
  • 今天刚看完崔大佬的《python3网络爬虫开发实战》,顿时觉得自己有行了,准备用appium登录QQ爬取列表中好友信息,接踵而来的是一步一步的坑,前期配置无数出错,安装之后连接也是好多错误,把这些错误解决之后,找APP...
  • 爬虫1定期爬前N个列表页 URL,把里面的商品信息URL爬下来,保存到队列里。 爬虫2定期从队列中抽出商品信息URL,爬取商品信息,爬完后把该URL移出队列。 所以呢,简单来说,只要有2张表就行了,一张保存队列信息,...

    场景:爬取某商城的部分商品。

    队列设计

    这里至少需要爬取2种资源,一种是商品列表,一种是商品信息。 所以要设计1条队列,保存商品信息URL。

    爬虫1定期爬前N个列表页 URL,把里面的商品信息URL爬下来,保存到队列里。

    爬虫2定期从队列中抽出商品信息URL,爬取商品信息,爬完后把该URL移出队列。

    所以呢,简单来说,只要有2张表就行了,一张保存队列信息,一张保存商品信息。

    何时停止问题

    为了避免每次都把所有商品爬一遍,就要在适当的时候停止。 爬列表页的时候,一般是设定只爬前 N 页。 爬商品信息URL的时候,一般是先检查这个商品是否存在,不存在就入队,存在的话,就表示接下来都是旧数据了,可以停止了。

    当然有种情况,就是有些旧的商品,会被人为地置顶,或者排到前面来。

    这时候就要设置一个值 M,每次最多爬前 M 个,多了不爬。

    数据更新问题:

    有新商品进来,直接插入即可,如果是旧商品,那要不要更新数据库里的内容呢? 一般来说是可以更新的,但有种情况例外,就是你的数据库会有人去编辑的情况。

    如果你的数据库有专人编辑,那么最好不要更新旧商品,因为会覆盖掉编辑的内容。并且,数据表要采用软删除的方式,避免前面的人刚删除了数据,你的爬虫又把数据写进去了。

    展开全文
  • 文章同步:http://blog.csdn.net/wgyscsf
  • 爬虫数据存储—数据库和MySQL

    千次阅读 2019-10-31 15:56:46
    爬虫数据存储—数据库 一、什么是数据库? 数据库是一个以某种有组织的方式存储的数据集合。简单来说,我们可以将数据库想象为一个文件柜,文件柜里面有很多文件,这些文件我们称之为表。 举一个实际例子:比如说...

    爬虫数据存储—数据库

    一、什么是数据库?

    数据库是一个以某种有组织的方式存储的数据集合。简单来说,我们可以将数据库想象为一个文件柜,文件柜里面有很多文件,这些文件我们称之为表。

    举一个实际例子:比如说我有一个文件柜,文件柜的名字是“my_data”,然后将高一成绩做成一张excel表【仅有一个sheet】,高二成绩做成一张excel表【仅有一个sheet】,高三成绩做成一张excel表【仅有一个sheet】。那么此时,数据库就是"my_data",里面的表有三个,分别为高一、高二、高三的成绩表。

    当然,也可以理解为一个excel表就是一个数据库,数据库的名字就是excel的文件名,excel里面的每一个sheet就是数据库里面的表。

    二、为什么使用数据库?

    我们在工作中使用excel已经很方便了,为什么还要使用数据库呢?

    便捷性&实用性

    对于个人来说,使用excel基本上能满足我们数据储存的要求,但是对于企业来说,仅使用excel显然是不够的。一个公司有这样的excel表成千上万个,并且还分布在不同的员工的电脑上,如果想查找某些数据,那可真是全公司总动员了。另外就是,员工之间进行数据的查找也是极为不方便的,需要多人协调,那么一天的工作基本上就不用干了,都浪费在查找数据这一项工作上。

    只要将这些表存储在数据库中,无论是员工自己查找使用,企业向外提数据,仅仅只是敲点SQL语句,就能把想要的数据给拿出来,然后提出去。【数据共享性

    所以,数据库的使用是必然的,能够极大地方便我们的工作。

    三、什么是MySQL

    一句话:MySQL是一种数据库软件。

    在有了数据库之后,你需要在不同的客户端进行操作,比如电脑1,电脑2,电脑3...所以,在这个时候,必须有一个软件专门管理整个的数据库,供不同的客户端进行数据的增删查改等操作。

    四、为什么使用MySQL?

    1.成本低:MySQL是开放源代码的,可以免费使用。
    2.性能高:MySQL执行很快(非常快)。
    3.可信赖:某些非常重要和声望很高的公司、站点使用MySQL,这些公司和站点都用MySQL来处理自己的重要数据。
    4.简单:MySQL很容易安装和使用。
     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 三个文件分别是:1.py ,2.py ,sql.py 1.py为获取人的数据,并通过人的帖子,再获取与该人的帖子互动的人的信息。 2.py为用户与其粉丝的信息。 sql.py为对MySQL数据库的连接
  • 爬虫+数据库+大数据分析

    千次阅读 2020-07-15 19:51:48
    利用python编写爬虫程序,从招聘网站上爬取数据,将数据存入到MongoDB数据库中,将存入的数据作一定的数据清洗后做数据分析,最后将分析的结果做数据可视化。 ** 前期准备 ** 1、配置大数据需要的环境 (1)配置...

    总体要求
    利用python编写爬虫程序,从招聘网站上爬取数据,将数据存入到MongoDB数据库中,将存入的数据作一定的数据清洗后做数据分析,最后将分析的结果做数据可视化。
    **

    前期准备

    **
    1、配置大数据需要的环境
    (1)配置Hadoop环境:可看博客:
    (2)配置zookeeper环境:https://blog.csdn.net/weixin_44701468/article/details/106822805
    (3)配置spark环境:
    (3)配置hive环境:
    (3)配置spark环境:
    2、下载好需要的数据库:Mysql、MangoDB
    3、准备好需要的数据:
    在这里插入图片描述
    爬取的是招聘网站前程无忧,由于爬取的一个数据不是很多,我就爬取了几个分别保存到了几个表中,大约有个百多兆的数据(数据量越多越好),第一次学习

    具体实现过程

    1、编写爬虫框架,爬取数据
    建议博客:https://blog.csdn.net/weixin_43581288/article/details/106950359
    里面有需要爬虫的字段,保存到的数据库,以及一些其他的要求
    2、数据存储
    正确搭建hadoop平台在这里插入图片描述
    选择flume协议传输形式
    在这里插入图片描述
    启动flame:

    flume-ng agent -n agent1 -c conf -f /usr/module/flume/apache-flume-1.6.0-bin/conf/template-hdfs.conf  -Dflume.root.logger=DEBUG,console
    
    

    上传数据至目录:
    在这里插入图片描述
    在这里插入图片描述
    将数据存储到hdfs:
    在这里插入图片描述
    3、进行hive查询:
    1、具体要求(要求:1、利用hive进行分析,2、将hive分析结果利用sqoop技术存储到mysql数据库中,并最后显示分析结果。):
    (1)分析“数据分析”、“大数据开发工程师”、“数据采集”等岗位的平均工资、最高工资、最低工资,并作条形图将结果展示出来;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    (2)分析“数据分析”、“大数据开发工程师”、“数据采集”等大数据相关岗位在成都、北京、上海、广州、深圳的岗位数,并做饼图将结果展示出来。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    (3)分析大数据相关岗位1-3年工作经验的薪资水平(平均工资、最高工资、最低工资),并做出条形图展示出来;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    (4)分析大数据相关岗位几年需求的走向趋势,并做出折线图展示出来;
    在这里插入图片描述
    总结:
    这个项目使用爬虫、数据库、大数据分析等方法来完成,对爬虫的认识,使用、数据库(mangodb)的使用、大数据知识的运用都是很好的。爬虫有爬虫框架的搭建,代码的编写对我来说都是一个不小的难题,但通过查资料、和同学的探讨让我解决了这些问题,数据库(mangodb)使用还不是特别熟练,大数据各种环境的搭建也是一个不小的难题,配置的环境也是不少,我也是用来不少的时间来做这个事,在这其中还是有的。

    展开全文
  • JAVA网络爬虫数据库jsp搜索引擎

    热门讨论 2010-03-17 13:23:53
    java 蜘蛛爬虫 数据库 jsp 搜索引擎 利用这个可以让搜索引擎更好地收录你的站点!!
  • 源码:爬取某网站小说存入数据库并以GUI图形化界面显示出来
  • Java爬虫获取网页表格数据并保存到MySQL数据库,包含完整代码
  • 网络爬虫__数据库mysql的使用详解

    千次阅读 2018-02-14 22:50:28
    对于爬虫程序来说,一个关键步骤就是将爬到的数据储存起来,下面讲解一下MySQL数据库的使用方法,MySQL是一种关系型数据库,它是一款开源的软件,适合于个人使用。下载并安装后,打开workbench页面,即可开始使用...
  • 1:数据库建立联合索引(便于爬虫数据存入数据库的时候根据多字段进行去重,并且加快爬虫速度) ALTER TABLE t_gov_stats_year_public_management /*表名*/ ADD INDEX classify_name_date/*索引名*/ (classify_id,...
  • 爬虫 知识点: 整理 爬虫面试题 添加 爬虫的代码 加深 爬虫的理解 ...1. 试列出至少三种目前流行的大型数据库的名称 ...2. 爬取数据后使用哪个数据库...一般爬虫使用的数据库,是根据项目来定的。如需求方指定了使用...
  • 爬虫数据去重、存入数据库

    千次阅读 2019-07-20 21:18:27
    存入数据库 根据数据量及用途 数据量在2000w以下mongdb、mysql都可以,超过2000w,使用mongdb。 若数据用于网页展示,存入mysql,用于数据分析,存入mongdb。 布隆过滤器 实现原理:hashmap ...
  • 最近公司叫我这个实习生去写一个爬虫,将爬取到的数据存到数据库中,再通过前端界面渲染出来,这可是一个大难题啊,我从来没写过爬虫,最近学了一下,写了一个爬虫实例,并将其存到了数据库中,现在分享给大家。...
  • 150讲轻松学习Python网络爬虫

    万人学习 2019-05-16 15:30:54
    比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两...
  • 使用Python2.7 ,scrapy爬取信息并保存到MySQL数据库
  • 爬取网站:http://www.china-10.com/news/488659.html 代码以及注释如下: import requests from bs4 import BeautifulSoup ...#连接数据库 db = MySQLdb.connect("localhost","root","123456","lianxi"...
  • 爬虫数据存入数据库

    千次阅读 2020-12-03 20:56:03
    爬虫获取的数据存入数据库,需要在pipeline里完成。 一、默认的项目是将pipeline的功能关闭了,这里我们先在settings.py中打开。其中设置里可以增加多个操作,后面的数字代表操作的先后顺序。 ITEM_PIPELINES =...
  • 爬虫数据库

    千次阅读 2019-03-17 19:48:07
    1) scrapy是一个Python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。而scrapy-redis一套基于redis数据库、运行在scrapy框架之上的组件,可以让scrapy支持分布式策略,Slaver端共享Master端redis...
  • 今天这个坑可能以后你也会遇到, 随着爬取数据量的增加, 以及爬取的网站数据字段的变化, 以往在爬虫入门时使用的方法局限性可能会骤增. 怎么个骤增法? Intro 引例 在爬虫入门的时候, 我们爬取豆瓣电影Top250这些数据...
  • 因为数模,学习了爬虫,但是这几天都在处理版本不兼容,还有各种报错 这次的连接不上数据库问题也是拖了好几天 废话不多说 1,可以看到 ![在这里插入图片数据库中是有manhua这个库的 2,但是报以下错:找不到manhua...
  • 爬虫中异步数据写入MySQL数据库方法

    千次阅读 2018-10-30 00:24:39
    爬虫中异步数据写入MySQL数据库方法(adbapi) 数据库pymysql的commit()和execute()在提交数据时,都是同步提交至数据库,由于scrapy框架数据的解析和异步多线程的,所以scrapy的数据解析速度,要远高于数据的写入...
  • 使用htmlpaser和sql server2005 以及jsp组成的爬取检索系统
  • 采用Python开发语言scrapy网络爬虫框架编写,实现rules规则限定初始链接的爬取区域,xpath语法提取网页数据,可成功运行,希望能为刚开始学习爬虫的人提供参考!
  • python3爬虫系列09之爬虫数据存入MySQL数据库

    千次阅读 多人点赞 2019-11-19 01:11:47
    python3爬虫系列09之爬虫数据存入MySQL数据库 1. 前言 在上一篇当中呢,python3爬虫系列08之新版动态智联爬虫,我们已经把智联招聘的某地区,某岗位,某页数的所有数据爬下来了,然后保存为了一个text文件。 这一篇...
  • 主要介绍了Python3实现的爬虫爬取数据并存入mysql数据库操作,涉及Python正则爬取数据及针对mysql数据库的存储操作相关实现技巧,需要的朋友可以参考下
  • 实现思路: ...正则表达式的使用有两种思路,可以参考个人有关其简述:python实现简单爬虫以及正则表达式简述 更多的细节介绍可以参考网上资料,搜索关键词: 正则表达式 python json: 参考网上有关jso...
  • 爬虫数据库踩坑→ProgrammingError: (1146, "Table 'exercise' doesn't exist") 背景 练习一个爬虫项目,并打算将数据导入到mysql中进行下一步的分析处理,结果就死活只报这一个错!!! 解决方案 网上有各种各样...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,603
精华内容 33,441
关键字:

爬虫数据库

爬虫 订阅