首頁  >  問答  >  主體

python - beautifulsoup取得網頁內容的問題

我要的是这个里面的内容
<p class="talk-article__body talk-transcript__body">

PYTHON程式碼:

neirong=soup.find('p',{'class':'talk-article__body talk-transcript__body'})

但是回傳的結果是空。這個選擇器是不是寫錯了?

習慣沉默習慣沉默2702 天前639

全部回覆(6)我來回復

  • 某草草

    某草草2017-05-27 17:41:42

    雷雷

    https://www.crummy.com/softwa...

    回覆
    0
  • 阿神

    阿神2017-05-27 17:41:42

    參考:https://www.crummy.com/softwa...中給予的說明,正確的使用方式是:
    neirong=soup.find('p',class_='talk-article__body talk-transcript__body')

    為了取得p包含的内容,进一步调用neirong.contents即可

    回覆
    0
  • 怪我咯

    怪我咯2017-05-27 17:41:42

    雷雷

    回覆
    0
  • 怪我咯

    怪我咯2017-05-27 17:41:42

    你從瀏覽器看到的內容有js動態產生的,用bs匹配不到,我發現看到的比較奇怪的class名基本上都是js生成的

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-27 17:41:42

    使用find_all吧,find不能用於class

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-27 17:41:42

    • 個人覺得用BeautifulSoup來解析網頁的時候,如果樓主打算透過css特性來進行元素的定位的話,最好還是使用soup.select(),這個方法可以用class的value當參數也可以用標籤的attribute當參數,很方便,用來搜尋單一標籤最好用,同時參數支援css選擇器字串,例如:soup.select("#id > .class a.title").

    • soup.find()方法目前好像用的不多,不知道是不是BeautifulSoup4棄用了。現在一般只要出現find,就是find_all()等方法。
      以上詳細參考「超湯」的中文文件:http://beautifulsoup.readthed...

    回覆
    0
  • 取消回覆