python - beautifulsoup獲取網頁內容的問題
問題描述
我要的是這個里面的內容<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棄用了。現在一般只要出現find,就是find_all()等方法。以上詳細參考“超級湯”的中文文檔:http://beautifulsoup.readthed...
相關文章:
1. python - django 里自定義的 login 方法,如何使用 login_required()2. python 如何實現PHP替換圖片 鏈接3. mysql - 一個表和多個表是多對多的關系,該怎么設計4. html5 - iOS的webview加載出來的H5網頁,怎么修改html標簽select的樣式字體?5. angular.js - 三大框架react、vue、angular的分析6. 一個mysql聯表查詢的問題7. mysql優化 - mysql count(id)查詢速度如何優化?8. 主從備份 - 跪求mysql 高可用主從方案9. mysql主從 - 請教下mysql 主動-被動模式的雙主配置 和 主從配置在應用上有什么區別?10. javascript - git clone 下來的項目 想在本地運行 npm run install 報錯
