logo
Loading...

無法利用 pyquery 的 filter 取得指定 class? - Cupoy

在做作業的時候,嘗試利用以下程式碼取得 中的文字,但卻一直失敗,想詢問各位前輩老師們該如何利用 p...

無法利用 pyquery 的 filter 取得指定 class?

2021/06/20 上午 09:27
更多的資料爬蟲工具介紹 - PyQuery/grab
陳柏翰
觀看數:25
回答數:2
收藏數:1

在做作業的時候,嘗試利用以下程式碼取得

中的文字,但卻一直失敗,想詢問各位前輩老師們該如何利用 pyquery 取得指定的 class 的內容 ```python from grab import Grab from pyquery import PyQuery as pq url = 'https://www.dcard.tw/f' g = Grab() resp = g.go(url) doc = pq(resp.body) target = doc('body').find('div').filter('.tgn9uw-4 jtaqbD').find('span') print(target) ``` 備註: 印出的結果為空 無錯誤訊息 附上使用 BS4 印出的結果 ![擷取.PNG](http://kwassistfile.cupoy.com/0000017A2705109F000000056375706F795F72656C656173655155455354/1623842559466/large)

回答列表

  • 2021/07/09 下午 08:46
    Ray
    贊同數:0
    不贊同數:0
    留言數:0

    您好,請問您的問題是抓取結果為None嗎? 如果是的話,我想您的問題可能是因為資料類型不同導致的,因為pyquery能夠抓取的資料類型是html類型,若您所想要抓取的是xhtml類型的資料的話,會需要在pq()中加上parser="html"來告訴pyquery您使用的是html類型的。 希望這可以幫助到您~

  • 2022/02/24 下午 05:02
    Sung-Yi Wang
    贊同數:0
    不贊同數:0
    留言數:0

    空白在class屬性內為分隔符,所以tgn9uw-4 jtaqbD會被視為兩個class,正確selector語法應為.tgn9uw-4.jtaqbD