dcard-spider icon indicating copy to clipboard operation
dcard-spider copied to clipboard

dcard.forums.get_metas() 回傳空list

Open puerdon opened this issue 6 years ago • 6 comments

from dcard import Dcard
dcard = Dcard()
dcard.forums.get_metas()

我執行以上程式碼,但回傳空list,沒有回傳所有看板的metadata。 想請問可能是哪裡出問題,感謝!

puerdon avatar Jan 13 '19 06:01 puerdon

嗨,如果是指要取得特定看板的metadata,需要指定看板名稱喔 e.g.,

dcard = Dcard()
meta = dcard.forums('photography').get_metas()

所有看板的metadata則是

dcard.forums.get()

參考用法 https://github.com/leVirve/dcard-spider#basic

leVirve avatar Jan 13 '19 08:01 leVirve

嗨,如果是指要取得特定看板的metadata,需要指定看板名稱喔 e.g.,

dcard = Dcard()
meta = dcard.forums('photography').get_metas()

所有看板的metadata則是

dcard.forums.get()

參考用法 https://github.com/leVirve/dcard-spider#basic

我下 meta = dcard.forums('photography').get_metas() 仍然是回傳空list。

puerdon avatar Jan 14 '19 12:01 puerdon

嗨,確實可以用喔 你可能要先確認是否更新到最新版程式

image

leVirve avatar Jan 15 '19 11:01 leVirve

補充一下:試用一下發現如果因為短時間內傳太多 request 被 server ban 掉也會回傳空 list

更新:進一步測試一下發現,想要解除封鎖只能先用瀏覽器打開 Dcard 網站,驗證不是機器人,然後將驗證後的 Cookie 連同瀏覽器的 User Agent (用來偽裝成瀏覽器) 一同塞進 request header 送出,才能取得正常的結果。

SLMT avatar Dec 07 '19 05:12 SLMT

謝謝學長補充~ 好久沒用了,原來現在已經會擋大量 requests 了喔 XD

leVirve avatar Dec 17 '19 22:12 leVirve

@leVirve 不會~ 他們也可能因為時常 loading 爆衝很困擾吧XD

SLMT avatar Dec 18 '19 15:12 SLMT