在我们处理完数据后,习惯把它放在原有的位置,但是这样也会出现一定的隐患。如果因为新数据的加入或者其他种种原因,当我们再次想要启用这个文件的时候,小伙伴们就会开始着急却怎么也翻不出来,似乎也没有其他更好的搜集办法,而重新进行数据整理显然是不现实的。下面我们就一起看看python爬虫中scrapy处理项目数据的方法吧。

1、拉取项目

$ git clone https://github.com/jonbakerfish/TweetScraper.git

$ cd TweetScraper/

$ pip install -r requirements.txt #add '--user' if you are not root

$ scrapy list

$ #If the output is 'TweetScraper', then you are ready to go.

2、数据持久化

通过阅读文档,我们发现该项目有三种持久化数据的方式,第一种是保存在文件中,第二种是保存在Mongo中,第三种是保存在MySQL数据库中。因为我们抓取的数据需要做后期的分析,所以,需要将数据保存在MySQL中。

抓取到的数据默认是以Json格式保存在磁盘 ./Data/tweet/ 中的,所以,需要修改配置文件 TweetScraper/settings.py 。

ITEM_PIPELINES = { # 'TweetScraper.pipelines.SaveToFilePipeline':100,

#'TweetScraper.pipelines.SaveToMongoPipeline':100, # replace `SaveToFilePipeline` with this to use MongoDB

'TweetScraper.pipelines.SavetoMySQLPipeline':100, # replace `SaveToFilePipeline` with this to use MySQL

}

#settings for mysql

MYSQL_SERVER = "18.126.219.16"

MYSQL_DB = "scraper"

MYSQL_TABLE = "tweets" # the table will be created automatically

MYSQL_USER = "root" # MySQL user to use (should have INSERT access granted to the Database/Table

MYSQL_PWD = "admin123456" # MySQL user's password

内容扩展:

scrapy.cfg是项目的配置文件

from scrapy.spider import BaseSpider

class DmozSpider(BaseSpider):

name = "dmoz"

allowed_domains = ["dmoz.org"]

start_urls = [

"http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",

"http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"

]

def parse(self, response):

filename = response.url.split("/")[-2]

open(filename, 'wb').write(response.body)

到此这篇关于python中scrapy处理项目数据的实例分析的文章就介绍到这了,更多相关python爬虫中scrapy如何处理项目数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

python怎么处理数据_python中scrapy处理项目数据的实例分析相关推荐

  1. python逗号怎么用_Python中逗号的三种作用实例分析

    本文实例讲述了Python中逗号的三种作用.分享给大家供大家参考.具体分析如下: 最近研究python 遇到个逗号的问题 一直没弄明白 今天总算搞清楚了 1.逗号在参数传递中的使用: 这种情况不多说 ...

  2. python asyncio教程_python中使用asyncio实现异步IO实例分析

    1.说明 Python实现异步IO非常简单,asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持. asyncio的编程模型就是一个消息循环.我们从asyncio模块中直接 ...

  3. python的id方法_python中id()函数的实用研究实例

    python中id()函数的实用研究实例 >>> a = 2.5 >>> b = 2.5 >>> c = b >>> a is ...

  4. python中类的构成_Python中类型关系和继承关系实例详解

    本文详细介绍了Python中类型关系和继承关系.分享给大家供大家参考.具体分析如下: 如果一个对象A持有另一个对象B的ID,那么检索到A之后就可以检索到B,我们就说存在一个A到B的导航.这种导航关系使 ...

  5. python中scrapy可以爬取多少数据_python中scrapy框架爬取携程景点数据

    ------------------------------- [版权申明:本文系作者原创,转载请注明出处] 文章出处:https://blog.csdn.net/sdksdk0/article/de ...

  6. python怎么显示结果_python中plot实现即时数据动态显示方法

    在Matlab使用Plot函数实现数据动态显示方法总结中介绍了两种实现即时数据动态显示的方法.考虑到使用python的人群日益增多,再加上本人最近想使用python动态显示即时的数据,网上方法很少,固 ...

  7. python动态显示数据_python中plot实现即时数据动态显示方法

    在matlab使用plot函数实现数据动态显示方法总结中介绍了两种实现即时数据动态显示的方法.考虑到使用python的人群日益增多,再加上本人最近想使用python动态显示即时的数据,网上方法很少,固 ...

  8. python去重复的数据_Python中mysql查询重复数据并删除重复数据

    #coding:utf-8 import mysql.connector mydb = mysql.connector.connect( host='localhost', user='root', ...

  9. python中变量名后的逗号_Python中逗号的三种作用实例分析

    本文实例讲述了Python中逗号的三种作用.分享给大家供大家参考.具体分析如下: 最近研究python  遇到个逗号的问题 一直没弄明白 今天总算搞清楚了 1.逗号在参数传递中的使用: 这种情况不多说 ...

最新文章

  1. 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题
  2. linux的mtd架构分析【转】
  3. JS(本身是)单线程和UI线程同步(互斥)
  4. Mac 编译安装 Redis-3.2.3
  5. [css] css常用的布局方式有哪些?
  6. 车辆行人识别训练与部署,EasyDL-Jetson Nano 端边云协作专场公开课
  7. [转]Centos 安装Sublime text 3
  8. 正确理解WPF中的TemplatedParent
  9. java斗地主怎么出牌_斗地主滑动选牌出牌(Cocos Creator)
  10. android map 底层实现原理,LinkedHashMap底层实现和原理(源码解析)
  11. php fckeditor,PHP FCKeditor使用说明
  12. pyodbc mysql_pyodbc and mySQL
  13. 页面适配之pt、px、em、rem用法和特点
  14. 什么是GNSS测试?如何进行GNSS测试?
  15. nginx php 后缀名,nginx如何隐藏后缀名php
  16. 大秦:开局签到满级剑术天赋(一)
  17. 数据可视化,看这一篇就够了
  18. 虚拟机VMware workstation安装gho系统详解
  19. C++之 最大公约数求法
  20. 基于脱敏数据,使用huggingface的Transformers预训练模型

热门文章

  1. ZooKeeper伪分布式集群安装及使用
  2. TensorFlow中设置学习率的方式
  3. 【博客美化】评论带头像,且支持旋转
  4. 《Python基础教程第二版》第二章-Python列表和元祖
  5. spring+springmvc+springboot 常用注解
  6. mysql数据类型总结
  7. 小技巧-取消新版outlook中应用商店加载项
  8. Hibernate总结(二)
  9. Spring 框架的设计理念与设计模式分析
  10. CentOS 6.x 播放 mp3 音乐 —— 成功