logo
Loading...

為什麼在瀏覽器呼叫api會出現401錯誤,在jupyter卻可以執行 - Cupoy

請問老師,在Day-14的作業中,指定電影id來擷取資訊的程式碼中:url ='https://mo...

pycrawler,pycrawler-d14

為什麼在瀏覽器呼叫api會出現401錯誤,在jupyter卻可以執行

2019/12/12 下午 03:27
Python網路爬蟲討論版
陳冠樺
觀看數:25
回答數:4
收藏數:4
pycrawler
pycrawler-d14

請問老師,在Day-14的作業中,指定電影id來擷取資訊的程式碼中:

url ='https://movies.yahoo.com.tw/api/v1/areas_by_movie_theater'

payload ={'movie_id':str(movie_id)}

為什麼直接在瀏覽器輸入

https://movies.yahoo.com.tw/api/v1/areas_by_movie_theater?movie_id=xxxxx

會得到401,而執行jupyter程式碼就可以拿到東西呢?


另想請問老師是如何得知有這一個api網址可以使用的,謝謝!

回答列表

  • 2019/12/12 下午 04:23
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:1
    留言數:1

    嗨,你仔細往下面看一下,程式中還有加上 Headers。Headers 中也可以帶資訊作為對方 Server 判別用!

  • 2019/12/13 下午 05:11
    張維元 (WeiYuan)
    贊同數:1
    不贊同數:0
    留言數:0

    「要如何知道需要準備哪一些header才可以呢?」


    => 如果不知道的話,建議全帶。至於要帶哪些欄位,在後面的課程會教你怎麼從開發者工具中觀察。


    「'mv-authorization': '21835b082e15b91a69b3851eec7b31b82ce82afb',就可以抓到資料,請問這一行代表什麼意思呢?」


    => 這個是對方用來檢查的某個欄位,可能是他們網站中會用到,但對我們來說可能無法知道是什麼意思。

  • 2019/12/13 下午 11:28
    小糖果
    贊同數:0
    不贊同數:0
    留言數:0

    同問老師是如何得知這個api網址可以使用的,謝謝!

  • 2019/12/14 上午 00:07
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:0

    同問老師是如何得知這個api網址可以使用的,謝謝!


    => 好問題!這個 API 其實是透過 JavaScript 動態呼叫的,可以從瀏覽器工具中的 Network 區塊做觀察。不過具體的操作,我們會流到「動態網頁爬蟲」的章節再詳細解釋:)