爬取原始內容
import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
r = requests.get("https://www.zhihu.com/explore", headers=headers)
html = r.text
新建對象並格式化
soup = BeautifulSoup(html)
print(soup.prettify())
<!DOCTYPE html>
<html data-hairline="true" data-theme="light" lang="zh">
<head>
...
</script>
</html>
最新專題部分
# 按類名查找
Zhuanti = soup.find_all(attrs={'class':'ExploreSpecialCard ExploreHomePage-specialCard'})
for zhuanti in Zhuanti:
# 按照父子關係查找,由於下面一句要用到座標索引,所以要把迭代器轉換成list類型
zhuantis = list(zhuanti.children)
print('\n======================\n'+zhuantis[1].a.string+'\n======================\n')
# 遞歸到孫子級別,沒用到座標索引而是直接遍歷,所以沒必要轉換
for content in zhuantis[2].children:
print('\t'+content.a.string+' :'+content.a.next_sibling.string)
======================
疫情結束後想做的 20 件小事
======================
別怕,走出去 :我想喫火鍋燒烤串串香炸雞漢堡冰淇淋喝奶茶……
乖,來抱抱 :想見男朋友,想去擁抱我愛的人
走,去武漢 :想回武漢,見家人,喫十碗熱乾麪
======================
100 種「應付」網絡教學的方法 | 網課「翻車」現場
======================
彈幕即將到達 :一切都要從打開網課那一天開始說起
觀衆有話說 :學校延長放假,學生是開心還是不開心?
「主播」有話說 :作爲老師,線上教學好幾天了,還有這些痛點沒有解決
======================
厲害了,知友們的疫情「神預測」
======================
湖北至少應該每天收治 1 萬例,才能控制住疫情 : 2 月 10 日,知友推斷武漢當前的確診數,比實際感染數少了至少 70%
武漢與湖北其他城市的傳染已經開始縮小了 :2 月 5 日,知友預測出傳染不再擴大
推薦將瑞德西韋列入藥物選擇 :1 月 21 日,知友判斷瑞德西韋可以強效抑制冠狀病毒複製
======================
是你的「奇葩」男朋友嗎?
======================
他怎麼這麼愛電子產品? :爲什麼我那個當程序員的男朋友,一直特別想要一個機械鍵盤?
爲什麼他還有這些「特點」? :有一個「不上進」的男朋友是種怎樣的體驗?
都這樣了,還有女朋友? :男朋友嫌棄我胖,分手還是減肥?
圓桌討論部分
# css選擇器
Taolun = soup.select('div.ExploreHomePage-ContentSection-body')[1]
# 嵌套css選擇器
for taolun in Taolun.select('a.ExploreRoundtableCard-title'):
print('\n======================\n'+taolun.string+'\n======================\n')
======================
肺炎第二戰,企業如何渡劫?
======================
======================
養車,不難
======================
======================
前端職業成長
======================
======================
在家也要好好生活
======================
方法試差不多了,就這樣吧2333。