美文网首页Python基础系列
pycharm创建scrapy项目教程及遇到的坑

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

作者: 我爱学python | 来源:发表于2019-09-29 14:04 被阅读0次

    最近学习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项目:

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    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操作系统会遇到这个问题。

    相关文章

      网友评论

        本文标题:pycharm创建scrapy项目教程及遇到的坑

        本文链接:https://www.haomeiwen.com/subject/ygloectx.html