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解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
Python通过解析网页实现看报程序的方法
Aug 04 Python
python生成excel的实例代码
Nov 08 Python
Python如何快速上手? 快速掌握一门新语言的方法
Nov 14 Python
Python中装饰器高级用法详解
Dec 25 Python
python3.6的venv模块使用详解
Aug 01 Python
Python JSON格式数据的提取和保存的实现
Mar 22 Python
Python API 自动化实战详解(纯代码)
Jun 11 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
Oct 01 Python
python通过opencv实现图片裁剪原理解析
Jan 19 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
Jan 12 Python
python中numpy数组与list相互转换实例方法
Jan 29 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使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
详解php框架Yaf路由重写
2017/06/20 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
用JQuery调用Session的实现代码
2010/10/29 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
js调用图片隐藏&显示实现代码
2013/09/13 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
jquery解析JSON数据示例代码
2014/03/17 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
2018/09/03 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
github配置使用指南
2014/11/18 Python
Python 正则表达式匹配字符串中的http链接方法
2018/12/25 Python
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
关于pytorch中全连接神经网络搭建两种模式详解
2020/01/14 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
应届生会计求职信
2013/11/11 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL