Web sayfasının URL'sini not alması için bir web tarayıcısı oluşturmak ve sonucu bir web sayfasına döndürmek istiyorum. Şu anda terminalden tedaviye başlıyorum ve cevabı bir dosyada saklıyorum. Flask'ta bazı girişler yayınlandığında, işlem yaparken ve yanıtı geri döndürdüğünde tarayıcıyı nasıl başlatabilirim?Flask rotasından scrublamaya başlayın
5
A
cevap
4
Flask uygulamanızın içinde bir CrawlerProcess oluşturmanız ve taramanın programlı olarak çalıştırmanız gerekir. docs'a bakın.
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
Projenizle geçmeden önce sana bir Python görev kuyruğuna (gibi rq) içine bakmak tavsiye ederiz. Bu, Scrapy taramalarını arka planda çalıştırmanıza izin verir ve Flask uygulamanız, kazıyıcılar çalışırken donmaz.
+0
Bunu terapi altında kullandım. Eğer flask uygulaması altında örümcek çalışan bazı kod parçacığı sağlar mısınız ???? – Vasim
Üzgünüz, bu son satır biraz bulanık. Flask ile ne yapıyorsun? Hangi süreç? Ve cevabı nereye geri döndürmek? –
Uç noktaları açığa çıkarmak için FLASK kullanıyorum, böylece bir web uygulamasından birisi bir giriş yayınlayabilir, yani web sayfası bağlantısı kazınacak. Ardından örümceği başlatmak ve bu girişi iletmek ve tarayıcı yanıtını web uygulamasına geri döndürmek istiyorum. – Ashish
Sadece benzer bir soruyu burada yanıtladı: https://stackoverflow.com/questions/36384286/how-to-integrate-flask-scrapy –