私はScrapyスパイダーを作成しました。しかし、私はスクリプトとしてそれを実行したい。私はこれをどうやってできるのか。スパイスパイダーをプログラムで簡単なスクリプトのように実行するにはどうすればよいですか?
$ scrapy crawl book -o book.json
しかし、私はシンプルなPythonスクリプト
私はScrapyスパイダーを作成しました。しかし、私はスクリプトとしてそれを実行したい。私はこれをどうやってできるのか。スパイスパイダーをプログラムで簡単なスクリプトのように実行するにはどうすればよいですか?
$ scrapy crawl book -o book.json
しかし、私はシンプルなPythonスクリプト
シェルスクリプトは大丈夫だろうようにそれを実行したい: 今私はターミナルで、このコマンドで実行することができていますか?次のように:
プロジェクトを使用せずにpythonスクリプトでスパイダーを直接実行できます。
あなたはscrapy.crawler.CrawlerProcess
またはscrapy.crawler.CrawlerRunner
を使用する必要がありますが、私はそれがPROJEKTのようにすべての機能を持っているかはわかりません。
は、ドキュメントの詳細情報:Common Practices
それともは、LinuxまたはWindows上の.bat
ファイルにbashスクリプトにあなたのコマンドを置くことができます。
BTW:Linuxでは、最初の行(#!/bin/bash
)にshebangを追加し、属性 "executable"を設定することができます -
ie。 chmod +x your_script
- これは通常のプログラムとして実行されます。私たちは、簡単なスクリプトを実行するよう
の作業の例では、代わりに
#!/usr/bin/env python3
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
allowed_domains = ['http://quotes.toqoute.com']
#start_urls = []
#def start_requests(self):
# for tag in self.tags:
# for page in range(self.pages):
# url = self.url_template.format(tag, page)
# yield scrapy.Request(url)
def parse(self, response):
print('url:', response.url)
# --- it runs without project and saves in `output.csv` ---
from scrapy.crawler import CrawlerProcess
c = CrawlerProcess({
'USER_AGENT': 'Mozilla/5.0',
'FEED_FORMAT': 'csv',
'FEED_URI': 'output.csv',
})
c.crawl(MySpider)
c.start()
'' book.json -o scrapyクロールブック '' 私はそれを実行したいです –