2013-10-18 16 views
5

Tôi sử dụng cào để tạo dự án và thêm nhện của riêng mình, nói "spider_us.py", trong thư mục "nhện" và tôi muốn tạo tệp exe có thể được thực thi trong các máy tính khác mà không cần cài đặt.làm thế nào để xây dựng spider phế liệu của tôi vào một tập tin exe bằng cách sử dụng py2exe?

Khi tôi làm theo hướng dẫn của py2exe, tôi thực hiện một tập tin mới "Setup.py" trong cùng một thư mục với nội dung sau:

from distutils.core import setup 
import py2exe 

setup(console = ["spider_us.py"]) 

tuy nhiên, nó đã không làm việc, kể từ khi tôi chạy của tôi spider, tôi sử dụng lệnh "crawl crawl spider_us" thay vì chạy trực tiếp tập tin "spider_us.py" trong thư mục "spider".

làm sao có thể xây dựng toàn bộ chương trình nhện (được tạo tự động bằng mẩu tin lưu niệm khi tôi sử dụng "tệp startyject XXX") thành tệp exe, không chỉ tệp spider ("spider_us.py" trong trường hợp của tôi) trong "con nhện" thư mục con.

Bất kỳ ai cũng đưa ra một số lời khuyên hoặc giúp đỡ, mọi nhận xét đều được hoan nghênh. Cám ơn rất nhiều.

Trả lời

1

Thử chạy trình thu thập thông qua tập lệnh Python (thay vì lệnh scrapy crawl <spider_name>). Bạn sẽ cần phải viết một số mã, ví dụ .:

from twisted.internet import reactor 
from scrapy.crawler import Crawler 
from scrapy import log, signals 
from testspiders.spiders.followall import FollowAllSpider 
from scrapy.utils.project import get_project_settings 

spider = FollowAllSpider(domain='scrapinghub.com') 
settings = get_project_settings() 
crawler = Crawler(settings) 
crawler.signals.connect(reactor.stop, signal=signals.spider_closed) 
crawler.configure() 
crawler.crawl(spider) 
crawler.start() 
log.start() 
reactor.run() # the script will block here until the spider_closed signal was sent 

Để biết chi tiết, xem the documentations on "Run Scrapy from a script"

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