> 參考: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 爬蟲。
