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时区设置方法与pytz查询时区教程
Nov 27 Python
python计算一个序列的平均值的方法
Jul 11 Python
Python-嵌套列表list的全面解析
Jun 08 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
python实现人工智能Ai抠图功能
Sep 05 Python
Python爬取破解无线网络wifi密码过程解析
Sep 17 Python
Python小整数对象池和字符串intern实例解析
Mar 21 Python
Django微信小程序后台开发教程的实现
Jun 03 Python
Python如何读写CSV文件
Aug 13 Python
python 装饰器的使用示例
Oct 10 Python
Django权限控制的使用
Jan 07 Python
Python装饰器的练习题
Nov 23 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
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
js对字符串进行编码的方法总结(推荐)
2016/11/10 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
vue router动态路由设置参数可选问题
2019/08/21 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
JavaScript制作3D旋转相册
2020/08/02 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
JSON获取属性值方法代码实例
2020/06/30 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
2020/10/02 Javascript
Python正则表达式经典入门教程
2017/05/22 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
2018/06/11 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
python实现从wind导入数据
2019/12/03 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
Django-imagekit的使用详解
2020/07/06 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
会计职业生涯规划书
2014/01/13 职场文书
家长对学生的评语
2014/04/18 职场文书
学校节能减排倡议书
2014/05/16 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
Vue2.0搭建脚手架
2022/03/13 Vue.js
mysql的单列多值存储实例详解
2022/04/05 MySQL
什么是Python装饰器?如何定义和使用?
2022/04/11 Python