您的位置:首頁技術文章
文章詳情頁

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

瀏覽:142日期:2022-06-30 08:43:35

問題描述

我要的是這個里面的內容<p class='talk-article__body talk-transcript__body'>

PYTHON代碼:

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

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

問題解答

回答1:

neirong=soup.find_all(’p’,class_=’talk-article__body talk-transcript__body’)

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

回答2:

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

為了獲取p包含的內容,進一步調用neirong.contents即可

回答3:

neirong = soup.select(’.talk-article__body.talk-transcript__body’)回答4:

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

回答5:

使用find_all吧,find不能用于class

回答6:

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

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

標簽: Python 編程
相關文章:
国产综合久久一区二区三区