python中scrapy处理项目数据的实例分析


Posted in Python onNovember 22, 2020

在我们处理完数据后,习惯把它放在原有的位置,但是这样也会出现一定的隐患。如果因为新数据的加入或者其他种种原因,当我们再次想要启用这个文件的时候,小伙伴们就会开始着急却怎么也翻不出来,似乎也没有其他更好的搜集办法,而重新进行数据整理显然是不现实的。下面我们就一起看看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实现下载网易云音乐的高清MV
Mar 16 Python
Python使用urllib2模块实现断点续传下载的方法
Jun 17 Python
Python3使用requests包抓取并保存网页源码的方法
Mar 15 Python
python版学生管理系统
Jan 10 Python
python正则表达式及使用正则表达式的例子
Jan 22 Python
使用Python进行QQ批量登录的实例代码
Jun 11 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
Jun 24 Python
pandas-resample按时间聚合实例
Dec 27 Python
python 伯努利分布详解
Feb 25 Python
python+django+selenium搭建简易自动化测试
Aug 19 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 Python
python3中for循环踩过的坑记录
Dec 14 Python
python eventlet绿化和patch原理
Nov 21 #Python
python 实用工具状态机transitions
Nov 21 #Python
python 实现表情识别
Nov 21 #Python
python 实现性别识别
Nov 21 #Python
python遍历路径破解表单的示例
Nov 21 #Python
Python如何批量生成和调用变量
Nov 21 #Python
在终端启动Python时报错的解决方案
Nov 20 #Python
You might like
php 更新数据库中断的解决方法
2009/06/05 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
PHP封装的多文件上传类实例与用法详解
2017/02/07 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
2017/07/24 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
学习node.js 断言的使用详解
2019/03/18 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
使用Python从有道词典网页获取单词翻译
2016/07/03 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
简单了解python模块概念
2018/01/11 Python
python面向对象 反射原理解析
2019/08/12 Python
python使用PIL剪切和拼接图片
2020/03/23 Python
巴西服装和鞋子购物网站:Marisa
2018/10/25 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
面试后感谢信
2014/02/01 职场文书
擅自离岗检讨书
2014/02/11 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
redis内存空间效率问题的深入探究
2021/05/17 Redis
用Python创建简易网站图文教程
2021/06/11 Python
Ubuntu Server 安装Tomcat并配置systemctl
2022/04/28 Servers
mybatis 获取更新记录的id
2022/05/20 Java/Android
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers