pycharm创建scrapy项目教程及遇到的坑解析
作者:alunbar 发布时间:2022-05-02 12:55:38
前言
最近学习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操作系统会遇到这个问题。
来源:https://www.cnblogs.com/airnew/p/10152438.html


猜你喜欢
- 项目一开始的设计很重要,django中app的名称建议用小写我的博客由两个app组成,Blog和JiaBlog,总觉得不美观,想改成小写的o
- 本文实例讲述了Windows下安装Django框架的方法。分享给大家供大家参考,具体如下:在idea上运行Python项目时,出现了如下错误
- Table:用于标示删除的数据表的名称。 1:该表必须是一个事实存在的表,对于该处的表必须是一个实际存在于数据库中的表格,必能是由于sele
- 所有数据库和状态文件都包含在其中。但是,在确定数据目录内容的布局中管理员有某些职责。本文讨论为什么要移动数据目录的各个部分(甚至是字典本身)
- 前言DISTINCT 实际上和 GROUP BY 操作的实现非常相似,只不过是在 GROUP BY 之后的每组中只取出一条记录而已。所以,D
- function BrowseFolder(){ try{ var Message = "请选择文件夹"; //选择框提
- 利用numpy、matplotlib、sympy绘制sigmoid、tanh、ReLU、leaky ReLU、softMax函数起因:深度学
- 目录1. 线程的概念1.1 Manager_进程通信1.2 线程的概念2. 线程的基本使用3. 自定义线程_守护线程3.1 自定义线程3.2
- 这个示例使用的Python版本为3.7版本,一、bing壁纸接口访问bing的官网,通过浏览器开发者工具,查看网络可以找到一个请求壁纸的接口
- setup语法糖 最大好处就是所有声明部分皆可直接使用,无需return出去注意:部分功能还不完善,如:name、render还需
- 效果图:(灰色区域可拖动)代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
- 1、先检测系统是否自带原有版本mysql安装包,如果有要先卸载删除,不然不能成功安装和启动;# rpm -qa|grep mysql&nbs
- 一、Selenium介绍与配置1.Selenium简介Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具
- 最近稍稍有点空闲时间,于是重新温习了一下之前学习过的python基础。废话不多说,记录一下自己的所得。首先,安装什么的不在本人的温习范围,另
- SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
- Get Started Tutorial for Python in Visual Studio Code一、安装PythonPython简
- 求一个算式a=1b=2c=3 print c*(a/b)运行结果总是0,反复检查拆开以后,发现在Python里,整数初整数,只能得
- function MakeUrl($arr){  
- 1. 说明本篇主要针对在Ubuntu系统中,matplotlib显示不了中文的问题,尤其是在无法安装系统
- 工作时同事间几mb小文件的传输,一般使用QQ或者微信就足够了,但当传输文件几百MB或者几十G时,这种方法的效率就显得不足了。本篇就是简单说明