前面也介绍过了Scrapy与Django的设计思想非常相似,因此这个两个结合也是比较容易的。
以下方法在Scrapy 0.18与Django 1.5下面测试是可以用的。
1.首先设置Django的运行环境
在settings.py中添加如下代码:
1 | def setup_django_environment(path): |
注意:如果你的Django项目是用的sqlite数据库的话,那就需要设置为绝对路径,不能使用相对路径。
2.创建django item
首先在Django项目代码中创建一个Django的model,例如:
1 | from django.db import models |
然后在Scrapy项目中创建一个新的Item,只不过这次我们不再是继承自scrapy.item.Item,而是scrapy.contrib.djangoitem.DjangoItem:
1 | class Test1DjItem(DjangoItem): |
用法与原来的Item相同,只是最后要执行一个save函数来调用django的save方法将数据存入数据库。