在PyCharm中运行scrapy项目

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangjiang_qianmo/article/details/86657860

安装Scrapy

关于Scrapy框架简单介绍,可以参看菜鸟教程:Scrapy 入门教程

在Mac OS中安装Scrapy并不是直接安装,而是先安装virtualenvvirtualenv可以创建一个隔绝独立的python开发环境,让不同项目分别运行在自己需要的开发环境中,解决不同项目间多版本的冲突问题。 安装完virtualenv后再继续安装Scrapy。

pip install virtualenv //安装virtualenv
virtualenv scrapyenv //scrapy安装地址
cd scrapyenv
source bin/activate //进入环境
pip install Scrapy //安装Scrapy

国内下载比较缓慢,而且下载的包有点多,花费的时间较长。

安装完scrapy后,输入命令scrapy,如果显示下面信息,就代表安装成功了。

(scrapyenv) wangjiangdeMacBook-Pro:scrapyenv wangjiang$ scrapy
Scrapy 1.5.1 - no active project

Usage:
  scrapy <command> [options] [args]

Available commands:
  bench         Run quick benchmark test
  fetch         Fetch a URL using the Scrapy downloader
  genspider     Generate new spider using pre-defined templates
  runspider     Run a self-contained spider (without creating a project)
  settings      Get settings values
  shell         Interactive scraping console
  startproject  Create new project
  version       Print Scrapy version
  view          Open URL in browser, as seen by Scrapy

  [ more ]      More commands available when run from project directory

Use "scrapy <command> -h" to see more info about a command
(scrapyenv) wangjiangdeMacBook-Pro:scrapyenv wangjiang$ 

创建Scrapy项目并导入到PyCharm

先进入到scrapy环境下:

cd scrapyenv
source bin/activate 

创建爬虫项目mySpider:

scrapy startproject mySpider

关于scrapy更多命令操作,可以查看文档:scrapy命令行工具

创建完成后,会在scrapyenv中生成一个mySpider项目,然后在PyCharm的菜单File中选择open导入项目。
在这里插入图片描述
导入项目后,并不能运行项目,因为PyCharm当前处在电脑所配置的python开发环境中。接下来,切换到scrapy开发环境。

打开Preferences → Project Interpreter → show all 窗口:
在这里插入图片描述
在这里插入图片描述

选择前面下载的scrapy环境 ~scrapyenv/bin/python ,选择完成后可以先重新启动下PyCharm,然后在Pycharm中的terminal中检查下当前是否在scrapy环境中,输入scrapy命令:
在这里插入图片描述
如果能显示上面内容,那么就可以在PyCharm中运行scrapy项目了。

在PyCharm环境中乱码

1.在PyCharm的Preference中设置编码格式为utf-8
在这里插入图片描述

2.如果上面不能解决乱码问题,那么在python文件中重新设置编码格式utf-8

# 以下三行是在 Python2.x版本中解决乱码问题,Python3.x 版本的可以去掉
import sys

reload(sys)
sys.setdefaultencoding("utf-8")

3.如果上面还不能解决乱码问题,或者在terminal终端中也乱码,比如输出的是unicode编码:

["\u3010\u6e90\u7801\u3011Scrapy\u91c7\u82b1\u5927\u76d7\u5c0f\u722c\u866b\u5b9e\u6218\u4e4b\uff1a\u52fe\u9b42\u3001\u9165\u80f8\u3001\u60f9\u706b\u3001\u5c24\u7269\u2026\u2026"]

可以使用在代码中进行转码来解决:

.decode('unicode_escape')

上面unicode转码后:

["scrapy 图片下载(二):scrapy图片重命名、放入不同文件夹"]

Scrapy框架学习文档

1.菜鸟教程:Scrapy 入门教程
2.scrapy中文网站:不仅有scrapy中文文档,还有一些实战项目入门。一个非常好的学习网站!

猜你喜欢

转载自blog.csdn.net/wangjiang_qianmo/article/details/86657860