scrapyd挖礦
1. Python scrapy爬蟲以scrapyd部署到伺服器上運行,現在想做一個定時爬取任務該怎樣做,scrapyd不支持。
可以用linux 自帶定時任務執行 py 程序就可以了實現的。
2. python中的scrapy是什麼意思a
Scrapy英文意思是刮擦
被用來命名爬蟲界知名的框架。
使用這個框架可以輕易實現常規網頁採集。也支持大型架構。升級後redis更是支持分布式。利用scrapyd更是可以發布服務。
從事爬蟲方向必學!
3. 如何用 scrapy 同時監控並採集 1000 個網站
我有幾個方案:
1.每一個網站用一個scrapy項目來做
2.所有網站都用一個scrapy來做,items都寫進去items.py中,每一個網站寫一個spider蜘蛛
3.所有網站都用一個scrapy來做,items都寫進去items.py中,所有網站寫進一個spider蜘蛛
我個人傾向於第二個
另外用scrapyd和supervisor來做管理和監控!
4. scrapy 執行爬蟲報錯:exceptions.KeyError:『d』,怎麼解決
1、爬數據的時候,有時會遇到被該網站封IP等情況,response的狀態碼為403,那麼這時候我們希望能夠拋出
CloseSpider的異常。
2、但是如scrapy官網提到的,Scrapy默認的設置是過濾掉有問題的HTTP response(即response狀態碼不在200-300之間)。因此403的情況會被ignore掉,意思就是我們不是處理這個url 請求的response,直接就忽略,也就是及時我們用response.status == 400判斷沒有作用,因為只有status處於200-300的請求才會被處理。
3. 如果我們想捕獲或者處理403,或者其它如404或者500,這種請求時,我們在spider的類中把403放在handle_httpstatus_list中。如下就行。
class MySpider(CrawlSpider):
handle_httpstatus_list = [403]
或者將403放在HTTPERROR_ALLOWED_CODES設置中
即在settings中增加HTTPERROR_ALLOWED_CODES = [403], HTTPERROR_ALLOWED_CODES默認是[]
http:// doc. scrapy.org/en/1.0/topics/spider-middleware. html#httperror-allowed-codes
4. 設置完handle_httpstatus_list或者HTTPERROR_ALLOWED_CODES之後,就可以通過判斷response.status == 403拋出CloseSpider異常,結束抓取。
5. 基於python的scrapy爬蟲,關於增量爬取是怎麼處理的
對於只是讀取某幾個網站更新內容的爬蟲完全沒必要在python代碼中實現增量的功能,直接在item中增加Url欄位。
item['Url'] = response.url
然後在數據端把儲存url的column設置成unique。
之後在python代碼中捕獲資料庫commit時返回的異常,忽略掉或者轉入log中都可以。
網上有說支持增量的,我看了代碼+實際測試,還是覺得不是增量的...
我的做法是pipeline的open_spider時讀取所有item裡面的url,做成一個parsed_urls的list,在rule的process_link中過濾掉這些已經下載的url,如果需要的話可以再item裡面加入last_notify屬性進一步擴展...
6. 如何部署Scrapy 到Scrapyd上
1、上傳工具
scrapyd-client
2、安裝方法:
pip install scrapyd-client
3、上傳方法:
python d:\Python27\Scripts\scrapyd-deploy target -p project
註:
target -- 主機地址,如localhost;
project -- 工程名,如stock_uc;
4、前提:
①假設python安裝位置d:\Python27\;
②需進入工程目錄下執行上傳命令;
③可選參數:
--version r03,即:
python d:\Python27\Scripts\scrapyd-d
7. 怎樣實現scrapy實時爬取並將結果返回
我看了一下scrapyd的API,好像都不支持這種需求啊。並不僅僅是執行一次任務,還需要這次任務獲取到的數據可以立即返回。
8. 如何實現scrapy 抓到某個特定數據就結束
我看了一下scrapyd的API,好像都不支持這種需求啊。並不僅僅是執行一次任務,還需要這次任務獲取到的數據可以立即返回。
9. scrapyd 改動爬蟲後需要重新部署嗎
需要10000元左右要許可證 還要營業執照