我要的是这个里面的内容 <p class="talk-article__body talk-transcript__body">
PYTHON程式碼:
neirong=soup.find('p',{'class':'talk-article__body talk-transcript__body'})
但是回傳的結果是空。這個選擇器是不是寫錯了?
雷雷
https://www.crummy.com/softwa...
參考:https://www.crummy.com/softwa...中給予的說明,正確的使用方式是:neirong=soup.find('p',class_='talk-article__body talk-transcript__body')
neirong=soup.find('p',class_='talk-article__body talk-transcript__body')
為了取得p包含的内容,进一步调用neirong.contents即可
p
neirong.contents
你從瀏覽器看到的內容有js動態產生的,用bs匹配不到,我發現看到的比較奇怪的class名基本上都是js生成的
使用find_all吧,find不能用於class
個人覺得用BeautifulSoup來解析網頁的時候,如果樓主打算透過css特性來進行元素的定位的話,最好還是使用soup.select(),這個方法可以用class的value當參數也可以用標籤的attribute當參數,很方便,用來搜尋單一標籤最好用,同時參數支援css選擇器字串,例如:soup.select("#id > .class a.title").
soup.find()方法目前好像用的不多,不知道是不是BeautifulSoup4棄用了。現在一般只要出現find,就是find_all()等方法。 以上詳細參考「超湯」的中文文件:http://beautifulsoup.readthed...
雷雷
https://www.crummy.com/softwa...
參考:https://www.crummy.com/softwa...中給予的說明,正確的使用方式是:
neirong=soup.find('p',class_='talk-article__body talk-transcript__body')
為了取得
p
包含的内容,进一步调用neirong.contents
即可雷雷
你從瀏覽器看到的內容有js動態產生的,用bs匹配不到,我發現看到的比較奇怪的class名基本上都是js生成的
使用find_all吧,find不能用於class
個人覺得用BeautifulSoup來解析網頁的時候,如果樓主打算透過css特性來進行元素的定位的話,最好還是使用soup.select(),這個方法可以用class的value當參數也可以用標籤的attribute當參數,很方便,用來搜尋單一標籤最好用,同時參數支援css選擇器字串,例如:soup.select("#id > .class a.title").
soup.find()方法目前好像用的不多,不知道是不是BeautifulSoup4棄用了。現在一般只要出現find,就是find_all()等方法。
以上詳細參考「超湯」的中文文件:http://beautifulsoup.readthed...