Chcę zbudować przeszukiwacz, który pobiera adres URL strony, która ma zostać skradziona i zwraca wynik z powrotem na stronę. Teraz zaczynam scrapy od terminala i przechowuję odpowiedź w pliku. Jak mogę uruchomić przeszukiwacz, gdy niektóre dane wejściowe są wysyłane do Flask, przetwarzać i zwracać odpowiedź?Rozpocznij scrapy z trasy Flask
5
A
Odpowiedz
4
Należy utworzyć CrawlerProcess wewnątrz aplikacji Flask i uruchomić programowo programowanie. Zobacz 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
Przed przejściem z Twojego projektu radzę zajrzeć do kolejki zadań Python (jak rq). Umożliwi to uruchamianie indeksowania Scrapy w tle, a aplikacja Flask nie zawiedzie się podczas działania skrobaków.
+0
Użyłem go pod scrapy. Czy podam fragment kodu, na którym działa pająk pod maską? – Vasim
Przepraszam, ta ostatnia linia jest trochę rozmyta. Co robisz z Flask? Jaki proces? I wróć odpowiedź z powrotem do miejsca? –
Używam FLASK do odsłonięcia punktów końcowych, aby z aplikacji internetowej ktoś mógł opublikować dane wejściowe, np. Link strony internetowej, która ma zostać skradziona. Następnie chcę uruchomić pająk i przekazać to wejście i zwrócić odpowiedź przeszukiwacza z powrotem do aplikacji internetowej. – Ashish
Właśnie odpowiedziałem na podobne pytanie tutaj: https://stackoverflow.com/questions/36384286/how-to-integrate-flask- scrapy –