> 参考: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. 带你玩转Flink流批一体分布式实时处理引擎

    摘要:Apache Flink是为分布式.高性能的流处理应用程序打造的开源流处理框架. 本文分享自华为云社区<[云驻共创]手把手教你玩转Flink流批一体分布式实时处理引擎>,作者: 萌兔 ...

  2. go语言 strconv.ParseInt 的实现分析

    字符串与数值之间进行转换是一个高频操作,在go语言中,SDK提供 strconv.ParseInt 将字符串转换为数值,strconv.FormatInt 可以将数值转换为字符串. 1.首先看下 st ...

  3. [C# 学习]窗体间调用控件

    一.方法1: 假如有两个窗体,Form_A和Form_B,每个窗体里都有一个按键,Button_A和Button_B,要实现单击Button_A显示窗体B,那么窗体A中Buttom_A的单击事件的程序 ...

  4. 【分享代码】bash中对一个逗号分隔的列表去重

    直接上代码: #!/bin/bash dedup_list(){ v_list=$(echo "$1" | sed "s/,/\n/g" | sort -u | ...

  5. 【笔记】直接使用protocol buffers的底层库,对特定场景的PB编解码进行处理,编码性能提升2.4倍,解码性能提升4.8倍

    接上一篇文章:[笔记]golang中使用protocol buffers的底层库直接解码二进制数据 最近计划优化prometheus的remote write协议,因为业务需要,实现了一个remote ...

  6. 云互联(http://www.yunone.com/)淘宝店铺名[格子窝]垃圾皮包骗子公司分析

    首先先给大家说明下我写这篇文章的初衷,本来也不想费神写这个的,可是忍无可忍,无需再忍,别人不犯贱,咱们何必跟人家较真呢? 在做渭南电脑维修网的同时,遇到了很多问题,使我受益匪浅,尤其是SEO方面的提升 ...

  7. golang中的反射reflect详解

    先重复一遍反射三定律: 1.反射可以将"接口类型变量"转换为"反射类型对象". 2.反射可以将"反射类型对象"转换为"接口类型变量 ...

  8. Python如何把八进制转换成ASCII码

    做题途中拿到一串八进制字符串 0126 062 0126 0163 0142 0103 0102 0153 0142 062 065 0154 0111 0121 0157 0113 0111 010 ...

  9. 【Azure Developer】使用 Azure Python SDK时,遇见 The resource principal named https://management.azure.com was not found in the tenant China Azure问题的解决办法

    问题描述 在使用Python SDK时候,登录到China Azure (Mooncake)并访问AlertsManagement资源时候,时常遇见  EnvironmentCredential: A ...

  10. C++中三种正则表达式比较(C regex,C ++regex,boost regex)

    工作需要用到C++中的正则表达式,以下三种正则可供参考 1,C regex #include <regex.h> #include <iostream> #include &l ...