Ich möchte einen Crawler erstellen, der die URL einer Webseite nimmt, die zu scrapped wird, und das Ergebnis zurück an eine Webseite sendet. Im Moment beginne ich mit dem Scrapy vom Terminal und speichere die Antwort in einer Datei. Wie kann ich den Crawler starten, wenn eine Eingabe zu Flask gepostet wird, verarbeitet wird und eine Antwort zurückgegeben wird?Start scrapy von Flask Route
5
A
Antwort
4
Sie müssen einen CrawlerProcess in Ihrer Flask-Anwendung erstellen und den Crawl programmatisch ausführen. Siehe 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
Bevor Sie mit Ihrem Projekt weitergehen Ich rate Ihnen, in eine Python-Task-Queue zu suchen (wie rq). Dadurch können Sie Scrapy-Crawls im Hintergrund ausführen und Ihre Flask-Anwendung wird nicht eingefroren, während die Scrapes ausgeführt werden.
+0
Ich habe es unter scrapy verwendet. Stellen Sie bitte ein Code-Snippet zur Verfügung, welches Spider unter der Flask-Anwendung läuft ???? – Vasim
Verwandte Themen
- 1. Python - Flask Standard Route möglich?
- 2. Erstellen einer RESTful Flask-API für Scrapy
- 3. Flask URL Route: Route Mehrere URLs mit der gleichen Funktion
- 4. Flask URL Route: Route Alle anderen URLs zu einer Funktion
- 5. Flask: Schmücken Sie jede Route auf einmal?
- 6. Python Flask: Route vs add_url_rule, SSE
- 7. Flask Route zu einer Variablen URL
- 8. python flask wie man route id von url
- 9. SQLite/Flask - "Keine solche Spalte x" - Übergeben von 2 Variablen an Flask Route
- 10. Ändern Sie die Route Sammlung von MVC6 nach dem Start
- 11. jquery $ .get flask function/route 400 schlechte anfrage
- 12. Konflikte beim Generieren von Start-URLs
- 13. register_blueprint fügt keine Route zur Flask App hinzu
- 14. Behandle Fragezeichen als Teil der URL in der Flask-Route
- 15. Scrapy Stapelüberlauf von Anfragen
- 16. Verwenden von Flask-SQLAlchemy ohne Flask
- 17. .NET MVC-Routing - Catchall beim Start der Route?
- 18. Scrapy Shell und Scrapy Splash
- 19. Übergeben Liste als Argumente in Scrapy
- 20. Laravel: Route Route von angeben Name
- 21. Start Flasher Server @ Start mit Supervisor: FATAL Exit zu schnell
- 22. scrapy nicht folgenden Links
- 23. Polymer-Abrufliste von Flask
- 24. Scraping Google Analytics von Scrapy
- 25. Scrapy FormRequest Senden von JSON
- 26. von robots.txt Verboten bekommen: scrapy
- 27. Herunterladen von Bildern in scrapy
- 28. Verschachtelte Blueprints in Flask?
- 29. Python & Scrapy: Ausgabe mit Scrapy Version
- 30. DatePickerWidget mit Flask, Flask-Admin und WTforms
Sorry, die letzte Zeile ist ein wenig verschwommen. Was machst du mit Flask? Welcher Prozess? Und gib die Antwort zurück wo? –
Ich benutze FLASK, um die Endpunkte zu offenbaren, so dass jemand von einer Web-App eine Eingabe schreiben kann, d. H. Den Webseiten-Link, der gecrackt werden soll. Dann möchte ich die Spinne starten und diese Eingabe übergeben und die Crawler-Antwort zurück an die Web-App senden. – Ashish
Ich beantwortete gerade ähnliche Frage hier: https://StackOverflow.com/Questions/36384286/How-to-integrate-flask-scrapy –