因为修改的文件较多,建议使用pycharm打开创建好的scrapy爬虫项目进行操作。全程用notepad和cmd也可以,就是打开麻烦。
pycharm中左下角有teminal控制台可以输入Scrapy指令进行操作。
使用Scrapy startproject创建一个Scrapy爬虫项目,使用genspider指令按照模板创建爬虫。
步骤
1.在Items.py中声明需要使用的容器
声明容器content
2.在setting.py中开放ITEM_PIPELINES(原来这个代码块是被注释的)
注意这里对应的类是否为items.py中的类
3.(可选,建议做)在pipelines.py中控制信息输出
这步有时候会在爬虫中做,但为了方便查看还是在pipelines.py中声明的好
4.编写爬虫文件
写好的爬虫在spiders文件中,使用baisc模板创建。
导入item.py中的类。执行的操作在parse()中编写。
在模板中还有其他信息,name是爬虫名,allowed_domain是爬取的目标地址,start_url是开始爬取的地址
5.crawl运行
存在的问题
1.在pycharm中先建立project,再在命令行中创建scrapy项目和scrapy爬虫文件。新建的scrapy文件会跑到Project目录下的venv文件夹中,而不是目标的spiders文件夹中。
解决:把scrapy爬虫文件复制回spiders文件夹中,否则不能运行爬虫
2.运行crawl指令时,报错说没有crawl指令,没有protego模块
解决:先看爬虫的位置是否放到了spiders文件夹中。其次【pip install protego】,安装模块。安装时若报错缺少itemloaders,则【 conda install itemloaders】。用 conda则不需要再pip