> 参考:https://www.cnblogs.com/hy123456/p/9847570.html

pycharm 中并没有创建 scrapy 工程的选项,需要手动创建。

这里就有两种创建 scrapy 项目的方式,第一种是先手工创建 scrapy 项目,然后导入到 pycharm 中;第二种是直接在 pycharm 中利用其中的命令行窗口创建项目(我使用的是这种,比较方便);

1. 手工创建导入方式

  1. 创建一个用于当前项目的虚拟空间:

    virtualenv --no-site-packages ScrapyLearning
  2. 启动当前虚拟空间:

    # 进入当前虚拟空间的相关目录下,windows下在:ScrapyLearning/Scripts/
    activate # 激活当前虚拟空间
  3. 安装 scrapy

    pip install -i https://pypi.douban.com/simple/ scrapy   # 使用豆瓣源
  4. 使用 scrapy 创建 scrapy 项目:(千万注意不要直接在 script 目录下新建项目)

    scrapy startproject ArticleSpider   # ArticleSpider为项目名
  5. ArticleSpider 项目导入 pycharm

2. pycharm 中创建

  1. pycharm 中新建工程,并选择创建一个用于当前项目的虚拟空间;

  2. pycharm 的下端的 Terminal 中输入以下命令以安装 scrapy (如果没有的话):

    pip install -i https://pypi.douban.com/simple/ scrapy   # 使用豆瓣源
  3. pycharm 的下端的 Terminal 中输入:

    scrapy startproject ArticlePaqu

    便会在当前项目目录下生成 ArticlePaqu 文件夹,这个便是 scrapy 项目文件夹。

3.创建一个小爬虫

创建一个单个小爬虫,爬取 scrapy 官方指定的一个示例页面:example.com

命令行或 pycharmTermina 窗口中输入(这里需要进入前面新建的项目目录下):

scrapy genspider example 'www.example.com'

便会在 spider 文件夹下创建一个爬虫 python 文件,并自动写入初始代码:

# -*- coding: utf-8 -*-
import scrapy

class ExampleSpider(scrapy.Spider):
name = 'example'
allowed_domains = ['example.com']
start_urls = ['http://example.com/']

def parse(self, response):
pass

4.运行爬虫

4-1.命令行或 pycharmTerminal 中输入:

scrapy crawl example

即可启动 example 爬虫。

4-2.直接通过运行 pycharmpython 文件的方式运行:

需要在 scrapy 项目的根目录下创建一个 main.py 文件:

from scrapy.cmdline import execute

import sys
import os # 用来获取路径的模块

sys.path.append(os.path.dirname(os.path.abspath(__file__)))
execute(['scrapy', 'crawl', 'example'])

即相当于将

scrapy crawl example

命令分成三段组成 list 放入 python 执行程序中的 execute 函数中了。

然后就可以通过右键 run main.py 函数即可运行 example 爬虫。

(一)scrapy 安装及新建爬虫项目并运行的更多相关文章

  1. 如何利用scrapy新建爬虫项目

    抓取豆瓣top250电影数据,并将数据保存为csv.json和存储到monogo数据库中,目标站点:https://movie.douban.com/top250 一.新建项目 打开cmd命令窗口,输 ...

  2. scrapy抓取拉勾网职位信息(一)——scrapy初识及lagou爬虫项目建立

    本次以scrapy抓取拉勾网职位信息作为scrapy学习的一个实战演练 python版本:3.7.1 框架:scrapy(pip直接安装可能会报错,如果是vc++环境不满足,建议直接安装一个visua ...

  3. Django安装 测试、导入项目以及运行开发服务器

    安装Django  下载Django包,解压缩. CMD 进入解压路径下. 执行:python setup.py install 增加环境变量: C:\Python27\Scripts 测试djang ...

  4. eclipse新建web项目,运行后在tomcat安装目录下webapps中没有该项目

    一.发现问题在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并没 ...

  5. 安卓开发第一记 android stdio 安装后 新建测试项目报错

    Failed to resolve:com.android.support:appcompat-v7:报错处理   你在使用android studio时是否也出现过上图的报错,你还在为它的出现烦恼? ...

  6. python爬虫框架—Scrapy安装及创建项目

    linux版本安装 pip3 install scrapy 安装完成 windows版本安装 pip install wheel 下载twisted,网址:http://www.lfd.uci.edu ...

  7. 在windows下如何新建爬虫虚拟环境和进行scrapy安装

    Scrapy是Python开发的一个快速.高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改.Sc ...

  8. 在Pycharm中运行Scrapy爬虫项目的基本操作

    目标在Win7上建立一个Scrapy爬虫项目,以及对其进行基本操作.运行环境:电脑上已经安装了python(环境变量path已经设置好), 以及scrapy模块,IDE为Pycharm .操作如下: ...

  9. python3 scrapy爬虫项目的诞生

    前提安装好scrapy模块最好 requests和bs4模块都安装好 可以概括为五个步骤 步骤一:新建一个项目 无论你用windows也好,linux也罢,在cmd或者终端 切换到目标文件夹,然后输入 ...

随机推荐

  1. Linux防止文件被误删除或修改

    chattr简介 Linux没有回收站,一旦文件或文件夹被误删除,要寻找回来很麻烦,不如事先对一些重要的文件做一些保护,这时我们需要一个命令chattr,其使用格式为 chattr 操作符 属性 文件 ...

  2. Pod:Kubernetes最小执行单元

    Pod基本概念理解 Pod是什么 Pod 是 Kubernetes 应用程序的基本执行单元,它是 Kubernetes 对象模型中创建或部署的最小和最简单的单元. 一个Pod可以包括一个或者多个容器. ...

  3. unity3d发布安卓出错plese set the package name

    发布时报错 参考https://forum.unity.com/threads/where-is-package-name-setting.318839/ 参考https://answers.unit ...

  4. Collection的使用

    常用方法 Modifier and Type Method and Description boolean add(E e) 确保此集合包含指定的元素(可选操作). boolean addAll(Co ...

  5. selenium获取cookies并持久化登陆

    selenium获取cookies并持久化登陆 需求背景: ​ 这几天需要写一个接口,用来批量上传数据,最开始考虑的是 UI 自动化,然后选值的时候自动化难以判别,最终选择 接口 自动化. ​ 然后操 ...

  6. http 的get 与 post 的区别

    1.原理区别 一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Http定义了与服务器交互的不同方法,最基本的 ...

  7. Shell 脚本循环遍历日志文件中的值进行求和并计算平均值,最大值和最小值

    本文为博主原创,转载请注明出处: 最近在进行压测,为了观察并定位服务性能的瓶颈,所以在代码中很多地方加了执行耗时的日志,但这种方式只能观察,却在压测的时候,不太能准确的把握代码中某些方法的性能,所以想 ...

  8. http协议和https协议的区别

    超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂 ...

  9. c++17 新特性

    编译环境说明:gcc 8.1 + eclipse +windows 10 eclipse cpp默认支持c++14,做c++17开发时,需要手动进行配置. 1.关键字 1)constexpr c++1 ...

  10. Spring中NESTED和REQUIRED_NEW传播行为的区别

    简介 PROPAGATION_REQUIRED_NEW: 表示当前方法必须运行在它自己的事务中.一个新的事务将被启动.如果存在当前事务,在该方法执行期间,当前事务会被挂起.如果使用JTATransac ...