> 参考:https://www.cnblogs.com/hy123456/p/9847570.html
在 pycharm
中并没有创建 scrapy
工程的选项,需要手动创建。
这里就有两种创建 scrapy
项目的方式,第一种是先手工创建 scrapy
项目,然后导入到 pycharm
中;第二种是直接在 pycharm
中利用其中的命令行窗口创建项目(我使用的是这种,比较方便);
1. 手工创建导入方式
-
创建一个用于当前项目的虚拟空间:
virtualenv --no-site-packages ScrapyLearning
-
启动当前虚拟空间:
# 进入当前虚拟空间的相关目录下,windows下在:ScrapyLearning/Scripts/ activate # 激活当前虚拟空间
-
安装
scrapy
:pip install -i https://pypi.douban.com/simple/ scrapy # 使用豆瓣源
-
使用
scrapy
创建scrapy
项目:(千万注意不要直接在script
目录下新建项目)scrapy startproject ArticleSpider # ArticleSpider为项目名
-
将
ArticleSpider
项目导入pycharm
。
2. pycharm
中创建
-
pycharm
中新建工程,并选择创建一个用于当前项目的虚拟空间; -
在
pycharm
的下端的Terminal
中输入以下命令以安装scrapy
(如果没有的话):pip install -i https://pypi.douban.com/simple/ scrapy # 使用豆瓣源
-
在
pycharm
的下端的Terminal
中输入:scrapy startproject ArticlePaqu
便会在当前项目目录下生成
ArticlePaqu
文件夹,这个便是scrapy
项目文件夹。
3.创建一个小爬虫
创建一个单个小爬虫,爬取 scrapy
官方指定的一个示例页面:example.com
。
命令行或 pycharm
的 Termina
窗口中输入(这里需要进入前面新建的项目目录下):
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.命令行或 pycharm
的 Terminal
中输入:
scrapy crawl example
即可启动 example
爬虫。
4-2.直接通过运行 pycharm
中 python
文件的方式运行:
需要在 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
爬虫。