## 可以直接保存为文件
```
scrapy crawl cake -o cake.csv
scrapy crawl cake -o cake.xml
scrapy crawl cake -o cake.json
scrapy crawl cake -o cake.pickle
scrapy crawl cake -o cake.marshal
scrapy crawl cake -o ftp://user:pass@ftp.example.com/path/to/cake.csv
```
- scrapy输出的json文件中显示中文
scrapy用-o filename.json 输出时,会默认使用unicode编码,当内容为中文时,输出的json文件不便于查看
可以在setting.py文件中修改默认的输出编码方式,只需要在setting.py中增加如下语句(默认似乎是没有指定的,所以要增加,如果默认有,就直接修改)
>FEED_EXPORT_ENCODING = 'utf-8'
- pipelines.py
```
# -*- coding: utf-8 -*-
# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html
import sqlite3
class MeituanPipeline(object):
def open_spider(self,spider):
# 爬虫启动时,连接数据库
self.con = sqlite3.connect("meituan.sqlite")
# self.cu用来执行sql语句
self.cu = self.con.cursor()
def process_item(self, item, spider):
# print(spider.name)
# 插入数据库,format格式化values
insert_sql = "insert into cake (title, money) values('{}', '{}')".format(item['title'], item['money'])
print(insert_sql)
self.cu.execute(insert_sql)
# 所有的数据修改需要提交
self.con.commit()
return item
# 爬虫结束时,关闭连接
def spider_close(self,spider):
self.con.close()
```
- 工欲善其事必先利其器
- 请求库
- 解析库
- 数据库
- 存储库
- Web库
- app爬取相关库
- 爬虫框架
- 部署相关库
- ipython
- 基础
- 数学函数
- 随机函数
- 三角函数
- 字符串内建函数
- 列表方法
- 字典内置方法
- 正则表达式
- os
- 字符串及数字的判断
- 常用魔术方法
- db
- mongodb
- mysql
- redis
- ORM
- ODM
- mongodb操作方法
- sqlite3
- access
- files
- Excel
- xml文件
- Python环境
- anaconda
- pip常用命令
- virtualenv
- pyenv
- cmder
- 远程开发
- Jupyter
- crawler
- appium环境搭建
- adb工具
- uiautomator
- 运行Appium+Python Clinet + 夜神模拟器
- DesiredCapabilities参数大全
- requests
- scrapy
- gerapy
- scrapyd
- 请求头fake_useragent库
- 数据传递过程
- 数据清洗及入库pipelines.py
- scrapy调用阿布云代理
- 图片下载
- PyQt5
- pyinstaller
- 攻防
- xss
- xss反射
- Chrome模拟微信浏览器
- flask
- 注册app
- 蓝图Blueprint
- 表单验证wtforms
- Flask-SQLAlchemy
- 数据处理
- json
- tornado
- settings
- 工具
- fiddler
- ab压力测试工具
- 高阶
- 队列
- 多线程
- 消息队列
- 定时任务框架APScheduler
- Django
- 路由分离
- 模型
- admin
- Android
- apk逆向工程