logo
Loading...

find_all的list串列取值用法 如何消除網頁中\u3000文字 - Cupoy

您好,想請問兩個問題1.D12在題目第一題中, 想請問print(d.find(class_="da...

pycrawler-d12

find_all的list串列取值用法 如何消除網頁中\u3000文字

2019/12/26 下午 04:24
Python網路爬蟲討論版
鄭欽華
觀看數:8
回答數:4
收藏數:1
pycrawler-d12

您好,想請問兩個問題

1.D12在題目第一題中, 想請問print(d.find(class_="date").text, d.find_all('a')[-1].text), 用黃色MARK 的意思為何?

因為我將[-1]改為[0] 結果還是一樣,對這一塊還是不太懂


2.D12在題目第二題中,分類中都會出現\u3000(圖一),看起來像是原文中是空白意思,請問為什麼在分類中以\u3000呈現? 如何將其消除?


謝謝


圖一:

回答列表

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

    嗨,先回答你的第一個問題:


    你可以試著把 d.find_all('a') 的內容印出來,他會回傳一個 List,[ ] 是用來取 List 元素的用法。L[0] 取得第一個、L[1] 取得第二個...,L[-1] 是取出倒數第一個。這邊是因為 d.find_all('a') 回來的元素只有一個,所以你取第一個跟取倒數第一個內容是一樣的。

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

    第二個問題是網頁語法的問題,你可以在最後的時候再用 .replace('\u3000', '') 做處理即可。

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

    原來[-1]是倒數第一個意思 所以如果我LIST有很多元素,但我只想要最後一個元素,用這方法是最快的?


    => 可以 L[len(L)-1] 或 L[-1],後者看起來比較簡潔!

  • 2019/12/30 下午 08:08
    張維元 (WeiYuan)
    贊同數:2
    不贊同數:0
    留言數:0

    他會回傳一個 List <<<請問要用哪個指令知道他是 List ???? , 


    => 回傳結果有  [ ] 就是一個 List,或者你也可以印出型態:type(d.find_all('a'))