logo
Loading...

find 語法問題 - Cupoy

你好,為了讓自己逐一了解code 所以我把範例 sample code逐一拆開來了解,可是唯獨 d的...

find 語法問題

2019/12/11 下午 04:20
Python網路爬蟲討論版
cham chen
觀看數:5
回答數:2
收藏數:1

你好,為了讓自己逐一了解code 所以我把範例 sample code逐一拆開來了解,可是唯獨 d的部分不能取值(有error) ,但如果使用for 迴圈去跑,並print出來 就可以正常運作

1.想問其中的原因以及原理?

2.d.find_all('a')[-1].text 為何要取[-1] 好像沒有這個不行,也會error

回答列表

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

    你好:

    1. 我覺得是因為d是個ResultSet物件,裡面有多個tag = 'h3',class = 'part_list_2的標籤(有好幾個新聞標題),所以必須要透過for loop,得到個別的tag物件,才能取值。ResultSet物件則沒有find屬性,tag物件才有。

    2. 原理和(1)其實差不多:

  • 2019/12/12 上午 11:27
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:1

    嗨,這邊建議你可以把 find_all 跟 find 的結果(跟型態)印出來看看。你會發現 find 是一個物件,因此他可以取物件上的文字。find_all 是由很多物件所組成的 List,必須先用 [i] 的方式把物件取出來。