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] 的方式把物件取出來。