Django調用Scrapy爬蟲實現異步爬蟲(前端輸入爬蟲字段信息,後端執行爬蟲過程)

1. 首先我們修改爬蟲文件的init方法:
添加如下代碼:

    def __init__(self, keyWord=None, startTime=None, endTime=None, *args, **kwargs):
        super(MicroblogspiderSpider, self).__init__(*args, **kwargs)
        self.keyWord = keyWord
        self.startTime = startTime
        self.endTime = endTime

這裏是傳入了關鍵詞、開始時間、結束時間三個參數,可以根據自己的情況來修改。
其餘代碼,參考微博關鍵詞爬蟲:Scrapy實現微博關鍵詞爬蟲(爬蟲結果寫入mongodb)
只不過是將剛纔那一段代碼加進去就可以了,然後調用self.keyWord等等字段就可以

2. 然後將我們的項目發佈
具體內容參考另一篇文章:發佈Scrapy項目到scrapyd

**3. 在Django需要調用的模塊中這樣寫 **

	#獲取前端傳來的字段信息
	keyWord = request.POST['keyWord']
    startTime = request.POST['startTime']
    endTime = request.POST['endTime']
    
    url = 'http://localhost:6800/schedule.json'
    data = {'project': 'blogSpider', 'spider': 'microBlogSpider', 'keyWord': keyWord, 'startTime': startTime, 'endTime': endTime }
    requests.post(url=url, data=data)

兩個關鍵字段:

project:這個名稱是我們發佈的爬蟲項目名稱,具體查看剛纔發佈的步驟。
spider:這個名稱是我們項目中存在的爬蟲項目的name值。

前端通過執行這個方法就可以實現異步爬蟲了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章