zoukankan      html  css  js  c++  java
  • 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:Anaconda3Librarymingw-w64in;e:Anaconda3Libraryusrin;e:Anaconda3Libraryin;e:Anaconda3Scripts;
    

    上面是我本机上的环境变量,我是将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:PycharmProjectsscrapy	est_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操作系统会遇到这个问题。

    本文同步发布与:http://www.bigdata17.com/2018/12/20/pythonscrapy.html

  • 相关阅读:
    第六课样式表
    jsp传递参数的四种方法
    Data truncated for column 'Sex' at row 1
    写方法时try,catch 的好处
    访问报错The origin server did not find a current representation for the target resou
    tomcat启动报错Failed to start component [StandardEngine[Catalina].StandardHost[localhost].
    Win10鼠标右键如何添加快捷关机、注销等功能?
    idea tomcat部署
    html如何将图片盖住整个网页
    如果要在标签中显示"<"或者">"等特殊字符,可以使用“&”开头,“;”结尾,中间加上字符对应的编码就可以啦。
  • 原文地址:https://www.cnblogs.com/airnew/p/10152438.html
Copyright © 2011-2022 走看看