python - beautifulsoup獲取網(wǎng)頁內(nèi)容的問題
問題描述
我要的是這個里面的內(nèi)容<p class='talk-article__body talk-transcript__body'>
PYTHON代碼:
neirong=soup.find(’p’,{’class’:’talk-article__body talk-transcript__body’})
但是返回的結(jié)果是空。這個選擇器是不是寫錯了?
問題解答
回答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包含的內(nèi)容,進一步調(diào)用neirong.contents即可
回答3:neirong = soup.select(’.talk-article__body.talk-transcript__body’)回答4:
你從瀏覽器看到的內(nèi)容有js動態(tài)生成的,用bs匹配不到,我發(fā)現(xiàn)看到的比較奇怪的class名基本都是js生成的
回答5:使用find_all吧,find不能用于class
回答6:個人覺得用BeautifulSoup來解析網(wǎng)頁的時候,如果樓主打算通過css特性來進行元素的定位的話,最好還是使用soup.select(),這個方法可以用class的value當參數(shù)也可以用標簽的的attribute當參數(shù),很方便,用于搜索單一標簽最好用,同時參數(shù)支持css選擇器字符串,比如:soup.select('#id > .class a.title').
soup.find()方法目前好像用的不多,不知道是不是BeautifulSoup4棄用了。現(xiàn)在一般只要出現(xiàn)find,就是find_all()等方法。以上詳細參考“超級湯”的中文文檔:http://beautifulsoup.readthed...
相關文章:
1. linux - 編譯時提示頭文件#include <mysql/mysql.h>不存在,百度之后也沒解決2. python - openpyxl讀取xlsx文件把數(shù)據(jù)生成字典,中文編碼問題?3. node.js - mac下vue-cli構建的項目為啥在windows就報錯呢?4. python小白的基礎問題 關于while循環(huán)的嵌套5. mysql主從復制 REPLICATE_DO_DB 參數(shù)從服務器reboot后每次都回滾為初始設置6. mysql索引 - mysql的表如何重新組織(或生成)索引?7. javascript - vue 數(shù)據(jù)更新了。但是dom沒有更新,,,,,如圖8. 設置 mysql 的 root用戶 可以被外網(wǎng)訪問后的問題9. django - Python error: [Errno 99] Cannot assign requested address10. python - linux怎么在每天的凌晨2點執(zhí)行一次這個log.py文件
