2013-05-20 36 views
6

Tôi đang cố gắng lưu đầu ra của lệnh thu thập dữ liệu thô tôi đã thử scrapy crawl someSpider -o some.json -t json >> some.text Nhưng nó không hoạt động ... có thể một số cơ thể cho tôi biết cách tôi có thể lưu đầu ra thành văn bản tập tin .... Tôi có nghĩa là các bản ghi và thông tin được in bằng scrapy ...Làm thế nào để tiết kiệm thu thập dữ liệu Scrapy Đầu ra lệnh

Trả lời

9

Bạn cũng cần chuyển hướng stderr. Bạn đang chuyển hướng chỉ stdout. Bạn có thể chuyển hướng nó bằng cách nào đó như thế này:

scrapy crawl someSpider -o some.json -t json 2> some.text

Điều quan trọng là số 2, "chọn" stderr làm nguồn cho chuyển hướng.

Nếu bạn muốn chuyển hướng cả stderr và stdout vào một tập tin, bạn có thể sử dụng:

scrapy crawl someSpider -o some.json -t json &> some.text

Để biết thêm về chuyển hướng đầu ra: http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html

9

Bạn có thể thêm những dòng này để bạn settings.py:

LOG_STDOUT = True 
LOG_FILE = '/tmp/scrapy_output.txt' 

Và sau đó bắt đầu thu thập dữ liệu của bạn bình thường:

scrapy crawl someSpider 
+0

Kiểm tra [link] (http://doc.scrapy.org/en/latest/topics/logging.html#logging-settings) để biết thêm cài đặt ghi nhật ký. Bạn thậm chí có thể sử dụng 'crawly crawl MyCrawler -s LOG_FILE =/var/log/crawler_mycrawler.log' -s kích hoạt để thay đổi cài đặt trình thu thập thông tin khi đang di chuyển. – pista329

0

nếu bạn muốn lấy kết quả từ lệnh trình điều khiển mạng.

scrapy runspider scraper.py -o some.json -t json 2> some.text 

Điều này cũng hoạt động.

Các vấn đề liên quan