准备
python与pycharm安装
借用python项目
在pycharm的控制台安装scrapy_redis包
>pip install scrapy_redis
redis
mysql
开启服务
开启redis、mysql服务,也可以开启scrapyd与gerapy服务。安装过程中都有描述。
scrapy_redis包
下载后在…\anaconda3\Lib\site-packages\scrapy_redis文件夹下,有scheduler.py和dupefilter.py、pipelines.py文件,分别用于url和去重、写入redis。
修改项目
更改项目setting文件加入url和去重、写入redis、mysql、redis-url。
SCHEDULER='scrapy_redis.scheduler.Scheduler'
DUPERFILTER_CLASS='scrapy_redis.dupefilter.RFPDupeFilter'
ITEM_PIPELINES = {
'hello.pipelines.HelloPipeline': 300,
'scrapy_redis.pipelines.RedisPipeline':20,
}
MYSQL_HOST='192.168.10.232'
MYSQL_USER='root'
MYSQL_PASSWORD='root'
MYSQL_PORT='3306'
MYSQL_DBNAME='hello'
MYSQL_CHARSET='utf8'
REDIS_URL='redis://root:@192.168.10.232:6379'
更改Spider文件下的dingdian.py
import scrapy
from scrapy_redis.spiders import RedisSpider
class DingdianSpider(scrapy.Spider,RedisSpider):
name = 'dingdian'
allowed_domains = ['wwwwww']
start_urls = ['http://www.ddxsku.com/files/article/html/13/13332/index.html']
redis_key='dingdian:start_urls'
def parse(self, response):
pass