python - beautifulsoup獲取網(wǎng)頁(yè)內(nèi)容的問(wèn)題
問(wèn)題描述
我要的是這個(gè)里面的內(nèi)容<p class='talk-article__body talk-transcript__body'>
PYTHON代碼:
neirong=soup.find(’p’,{’class’:’talk-article__body talk-transcript__body’})
但是返回的結(jié)果是空。這個(gè)選擇器是不是寫(xiě)錯(cuò)了?
問(wèn)題解答
回答1:neirong=soup.find_all(’p’,class_=’talk-article__body talk-transcript__body’)
https://www.crummy.com/softwa...
回答2:參照:https://www.crummy.com/softwa...中給出的說(shuō)明,正確的使用方式是:neirong=soup.find(’p’,class_=’talk-article__body talk-transcript__body’)
為了獲取p包含的內(nèi)容,進(jìn)一步調(diào)用neirong.contents即可
回答3:neirong = soup.select(’.talk-article__body.talk-transcript__body’)回答4:
你從瀏覽器看到的內(nèi)容有js動(dòng)態(tài)生成的,用bs匹配不到,我發(fā)現(xiàn)看到的比較奇怪的class名基本都是js生成的
回答5:使用find_all吧,find不能用于class
回答6:個(gè)人覺(jué)得用BeautifulSoup來(lái)解析網(wǎng)頁(yè)的時(shí)候,如果樓主打算通過(guò)css特性來(lái)進(jìn)行元素的定位的話,最好還是使用soup.select(),這個(gè)方法可以用class的value當(dāng)參數(shù)也可以用標(biāo)簽的的attribute當(dāng)參數(shù),很方便,用于搜索單一標(biāo)簽最好用,同時(shí)參數(shù)支持css選擇器字符串,比如:soup.select('#id > .class a.title').
soup.find()方法目前好像用的不多,不知道是不是BeautifulSoup4棄用了。現(xiàn)在一般只要出現(xiàn)find,就是find_all()等方法。以上詳細(xì)參考“超級(jí)湯”的中文文檔:http://beautifulsoup.readthed...
相關(guān)文章:
1. python - linux怎么在每天的凌晨2點(diǎn)執(zhí)行一次這個(gè)log.py文件2. 關(guān)于mysql聯(lián)合查詢一對(duì)多的顯示結(jié)果問(wèn)題3. 實(shí)現(xiàn)bing搜索工具urlAPI提交4. MySQL主鍵沖突時(shí)的更新操作和替換操作在功能上有什么差別(如圖)5. 數(shù)據(jù)庫(kù) - Mysql的存儲(chǔ)過(guò)程真的是個(gè)坑!求助下面的存儲(chǔ)過(guò)程哪里錯(cuò)啦,實(shí)在是找不到哪里的問(wèn)題了。6. windows誤人子弟啊7. mysql優(yōu)化 - MySQL如何為配置表建立索引?8. 如何用筆記本上的apache做微信開(kāi)發(fā)的服務(wù)器9. 我在網(wǎng)址中輸入localhost/abc.php顯示的是not found是為什么呢?10. 冒昧問(wèn)一下,我這php代碼哪里出錯(cuò)了???
