pycharm创建scrapy项目教程及遇到的坑解析


Posted in Python onAugust 15, 2019

前言

最近学习scrapy爬虫框架,在使用pycharm安装scrapy类库及创建scrapy项目时花费了好长的时间,遇到各种坑,根据网上的各种教程,花费了一晚上的时间,终于成功,其中也踩了一些坑,现在整理下相关教程,希望帮助那些遇到和我一样问题的码农。

1、环境

  • 操作系统:windows10。
  • python版本:python3.7,必须使用Anaconda,目前是Anaconda5.3.1。下载地址:https://www.anaconda.com/download/ 下载64位的安装包。scrapy依赖的类库比较多,使用Anaconda会将相关的依赖的类库都安装好,并且版本保持一致。
  • pycharm:pycharm2018。

2、安装Anaconda

安装好Anaconda之后,将下面的变量加入到系统环境变量中:

e:\Anaconda3;e:\Anaconda3\Library\mingw-w64\bin;e:\Anaconda3\Library\usr\bin;e:\Anaconda3\Library\bin;e:\Anaconda3\Scripts;

上面是我本机上的环境变量,我是将Anaconda3安装在E盘的Anaconda3文件夹中。

3、安装scrapy相关类库

打开pycharm,创建一个项目,然后开始安装相关的类库。通过下面的方式查找类库,点击左上角的File按钮,会弹出如下的界面:

pycharm创建scrapy项目教程及遇到的坑解析

点击Settings按钮,会弹出下面的菜单:

pycharm创建scrapy项目教程及遇到的坑解析

然后点击右边的“+”,就会弹出安装类库的界面:

pycharm创建scrapy项目教程及遇到的坑解析

在上图中查询类库,然后点击“Install package”即可安装。
如果查询出的类库显示蓝色,表示这个类库已经安装过了。

按照下面的顺序安装类库:lxml->zope.interface->pyopenssl->twisted->scrapy。一般情况下Anaconda已经安装了很多类库,我们只需安装scrapy即可。

4、创建scrapy项目

安装好scrapy类库之后,就可以创建scrapy项目了,pycharm不能直接创建scrapy项目,必须通过命令行创建,打开pycharm的Terminal终端,输入scrapy startproject test_scrapy命令,就可以创建名为test_scrapy的scrapy项目,看到如下的信息表示成功创建scrapy项目:

New Scrapy project 'test_scrapy', using template directory 'e:\\Anaconda3\\lib\\site-packages\\scrapy\\templates\\project', created in:
  G:\PycharmProjects\scrapy\test_scrapy

You can start your first spider with:
  cd test_scrapy
  scrapy genspider example example.com

然后在pycharm的项目空间中就可以看到test_scrapy项目的目录结构:

pycharm创建scrapy项目教程及遇到的坑解析

通过命令行创建scrapy项目时经常会遇到下面的三个坑:

(1)'scrapy' 不是内部或外部命令,也不是可运行的程序或批处理文件。这是因为没有把Anaconda加入到环境变量中。在安装scrapy时,会将scrapy.exe文件安装到Scripts文件夹下面:

pycharm创建scrapy项目教程及遇到的坑解析

如果没有设置环境变量,将无法找到scrapy.exe文件。

(2)ImportError: DLL load failed: 找不到指定的模块。 这个问题是因为lxml类库版本引起的,在window7操作系统会遇到这个问题。我安装的是4.2.5版本,后来改成3.8.0就解决了。将lxml从4.2.5切换成3.8.0的方法如下:

pycharm创建scrapy项目教程及遇到的坑解析

通过上图的安装类库界面,找到lxml,勾选上Specify version选项,然后选择3.8.0,点击“install package”按钮即可。使用anaconda的好处就是,将lxml切换成3.8.0之后,会把相关的openssl和twisted等类库也切换成匹配的类库,因此强烈推荐使用Anaconda安装python。

(3)ImportError: DLL load failed: 操作系统无法运行 %1 。 这个是因为c:/windows/system32目录中的ssleay32.dll和libeay32.dll冲突导致的,我的做法是删除掉这个两个文件,创建好scrapy项目后,在恢复回来。因为删除这两个文件会导致某些应用无法运行。在window10操作系统会遇到这个问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python通过urllib2爬网页上种子下载示例
Feb 24 Python
python中Flask框架简单入门实例
Mar 21 Python
Python中创建字典的几种方法总结(推荐)
Apr 27 Python
Python子类继承父类构造函数详解
Feb 19 Python
java判断三位数的实例讲解
Jun 10 Python
python f-string式格式化听语音流程讲解
Jun 18 Python
Python paramiko模块使用解析(实现ssh)
Aug 30 Python
python实现的分层随机抽样案例
Feb 25 Python
python3格式化字符串 f-string的高级用法(推荐)
Mar 04 Python
关于python的缩进规则的知识点详解
Jun 22 Python
Django drf请求模块源码解析
Jun 08 Python
python中的class_static的@classmethod的巧妙用法
Jun 22 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
Aug 15 #Python
Python依赖包整体迁移方法详解
Aug 15 #Python
使用python批量修改文件名的方法(视频合并时)
Mar 24 #Python
python 修改本地网络配置的方法
Aug 14 #Python
python django 原生sql 获取数据的例子
Aug 14 #Python
django 连接数据库 sqlite的例子
Aug 14 #Python
Python将主机名转换为IP地址的方法
Aug 14 #Python
You might like
PHP Ajax实现页面无刷新发表评论
2007/01/02 PHP
PHP实现搜索时记住状态的方法示例
2018/05/11 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
js加强的经典分页实例
2013/03/15 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
js实现右下角提示框的方法
2015/02/03 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
JQuery为元素添加样式的实现方法
2016/07/20 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
微信小程序实现自定义加载图标功能
2018/07/19 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
Python内置函数的用法实例教程
2014/09/08 Python
django 自定义用户user模型的三种方法
2014/11/18 Python
Python字符串的常见操作实例小结
2019/04/08 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
Python之指数与E记法的区别详解
2019/11/21 Python
使用sklearn对多分类的每个类别进行指标评价操作
2020/06/11 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
爱尔兰最大的体育零售商:Life Style Sports
2019/06/12 全球购物
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
高级人员简历的自我评价分享
2013/11/03 职场文书
购房意向书
2014/08/30 职场文书
债务授权委托书范本
2014/10/17 职场文书
整改报告怎么写
2014/11/06 职场文书
2014年仓库工作总结
2014/11/20 职场文书
小学庆六一主持词
2015/06/30 职场文书
保护动物的宣传语
2015/07/13 职场文书
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android