2015-07-24 29 views
5

Tôi muốn tạo trình thu thập dữ liệu để lấy URL của một trang web được tìm kiếm và trả lại kết quả về trang web. Ngay bây giờ tôi bắt đầu cạo từ thiết bị đầu cuối và lưu trữ các phản ứng trong một tập tin. Làm thế nào tôi có thể bắt đầu trình thu thập thông tin khi một số đầu vào được đăng trên Flask, xử lý và trả về một phản hồi?Bắt đầu hoạt động từ tuyến đường Flask

+0

Xin lỗi, dòng cuối cùng đó hơi mờ. Bạn đang làm gì với Flask? Quá trình gì? Và trả lại câu trả lời về đâu? –

+0

Tôi đang sử dụng FLASK để hiển thị điểm cuối, để từ một ứng dụng web, ai đó có thể đăng đầu vào, tức là liên kết trang web sẽ được xóa. Sau đó, tôi muốn bắt đầu con nhện và truyền đầu vào đó và trả lại phản hồi trình thu thập thông tin về ứng dụng web. – Ashish

+0

Tôi vừa trả lời câu hỏi tương tự ở đây: https://stackoverflow.com/questions/36384286/how-to-integrate-flask-scrapy –

Trả lời

4

Bạn cần tạo Trình thu thập thông tin bên trong ứng dụng Flask và chạy thu thập dữ liệu theo chương trình. Xem số docs.

import scrapy 
from scrapy.crawler import CrawlerProcess 

class MySpider(scrapy.Spider): 
    # Your spider definition 
    ... 

process = CrawlerProcess({ 
    'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)' 
}) 

process.crawl(MySpider) 
process.start() # The script will block here until the crawl is finished 

Trước khi tiếp tục dự án, tôi khuyên bạn nên xem hàng đợi công việc Python (như rq). Điều này sẽ cho phép bạn chạy thu thập dữ liệu Scrapy trong nền và ứng dụng Flask của bạn sẽ không đóng băng trong khi các mẩu tin lưu niệm đang chạy.

+0

Tôi đã sử dụng nó dưới dạng cào. Bạn sẽ vui lòng cung cấp một số đoạn mã, đang chạy spider dưới ứng dụng bình ???? – Vasim

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