python爬取知乎标题_python爬知乎热榜
爬項目:知乎熱榜標題、熱度、簡介。
第一步瀏覽網頁源代碼 確認在哪html 還是js里
標題和熱度在html
標簽內容在js 需要用到正則表達式:
第二先爬html 里的內容調用模塊—再請求一下url數據看看能否找到
#注意:爬出以下內容,加密的需要添加cookie 和user-agent
爬取xml內容, 調用BeautifulSoup模塊
注意找html 屬性時,代碼如下:
soup =BeautifulSoup(html.text, 'lxml') # 引用ixml解析器
beautifulsoup divs = soup.select('.HotList-item') #鎖定 class 的頭部標簽代碼
for div in divs: # for循環(huán)
title = div.select('.HotList-itemTitle')[0].text #注意這個位置寫.HotList-item.HotList-itemBody..HotList-itemTitle 鎖定不到,原因是前面都是重合代碼直接寫title即可,只有表黃才能定位成功 ;select獲取列表,鎖定第一個[0]
Metrics = div.select('.HotList-itemMetrics')[0].text# 和上面title 一樣定位。 print('標題:', title) print('熱度:', Metrics)
爬標題和熱度代碼輸入:
爬圖片src和圖片下載打包:import os
注意:有的圖片是空,為了防止出現bug,建立防錯機制:try: except: pass
標題、熱度、圖片結果:
第三步爬簡介, 在js里,需要正則表達式 (.*?)
首先在顯示源代碼里找出js 里簡介找到一條,復制代碼和內容,然后刪除文字,留下代碼:
('"excerptArea":{"text":"(.*?)"}')
繼續(xù)在下面寫代碼:引用findall
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python爬取知乎标题_python爬知乎热榜的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬取js加载的数据_Pyth
- 下一篇: redis数据持久化到mysql_Red