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

 更新时间:2019年08月15日 09:26:51   作者:alunbar  
这篇文章主要介绍了pycharm创建scrapy项目教程及遇到的坑解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

前言

最近学习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按钮,会弹出如下的界面:

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

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

在上图中查询类库,然后点击“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项目的目录结构:

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

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


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

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


通过上图的安装类库界面,找到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操作系统会遇到这个问题。

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

相关文章

  • Python3自动安装第三方库,跟pip说再见

    Python3自动安装第三方库,跟pip说再见

    很多朋友私信小编Python安装第三方库安装技巧,在这就不一一回复大家了,今天小编给大家分享一篇教程关于Python自动安装第三方库的小技巧,本文以安装plotly为例给大家详细讲解,感兴趣的朋友跟随小编一起看看吧
    2021-10-10
  • python判断是否汉字的5种方法实例

    python判断是否汉字的5种方法实例

    这篇文章主要给大家介绍了关于python判断是否汉字的5种方法,文中通过实例代码将判断的几种方法介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友可以参考下
    2023-06-06
  • Python 实现12306登录功能实例代码

    Python 实现12306登录功能实例代码

    这篇文章主要介绍了Python 实现12306登录功能的完整代码,需要的朋友可以参考下
    2018-02-02
  • 详解TensorFlow训练网络两种方式

    详解TensorFlow训练网络两种方式

    本文主要介绍了TensorFlow训练网络两种方式,一种是基于tensor(array),另外一种是迭代器,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Python中实现最小二乘法思路及实现代码

    Python中实现最小二乘法思路及实现代码

    这篇文章主要介绍了Python中实现最小二乘法思路及实现代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • python tkinter自定义实现Expander控件

    python tkinter自定义实现Expander控件

    和其他成熟的GUI库相比,tkinter的组件并不是太多,但在自定义组件这一点上,并不逊色于其他框架,下面小编就教大家如何自定义一个Expander控件吧
    2023-08-08
  • 详解用pyecharts Geo实现动态数据热力图城市找不到问题解决

    详解用pyecharts Geo实现动态数据热力图城市找不到问题解决

    这篇文章主要介绍了详解用pyecharts Geo实现动态数据热力图城市找不到问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Pytorch实现List Tensor转Tensor,reshape拼接等操作

    Pytorch实现List Tensor转Tensor,reshape拼接等操作

    这篇文章主要介绍了Pytorch实现List Tensor转Tensor,reshape拼接等操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 基于Python实现语音识别功能

    基于Python实现语音识别功能

    这篇文章给大家介绍了如何基于Python实现语音识别功能,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,具有一定的参考价值,需要的朋友可以参考下
    2023-12-12
  • python读取图片的几种方式及图像宽和高的存储顺序

    python读取图片的几种方式及图像宽和高的存储顺序

    这篇文章主要介绍了python读取图片的几种方式及图像宽和高的存储顺序,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论