bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Python實現爬取馬云的微博功能示例-創新互聯

本文實例講述了Python實現爬取馬云的微博功能。分享給大家供大家參考,具體如下:

創新互聯專注于東豐企業網站建設,響應式網站建設,商城網站建設。東豐網站建設公司,為東豐等地區提供建站服務。全流程定制制作,專業設計,全程項目跟蹤,創新互聯專業和態度為您提供的服務

分析請求

我們打開 Ajax 的 XHR 過濾器,然后一直滑動頁面加載新的微博內容,可以看到會不斷有Ajax請求發出。

我們選定其中一個請求來分析一下它的參數信息,點擊該請求進入詳情頁面,如圖所示:

Python實現爬取馬云的微博功能示例

可以發現這是一個 GET 請求,請求的參數有 6 個:display、retcode、type、value、containerid 和 page,觀察這些請求可以發現只有 page 在變化,很明顯 page 是用來控制分頁的。

分析響應

如圖所示:

Python實現爬取馬云的微博功能示例

它是一個 Json 格式,瀏覽器開發者工具自動為做了解析方便我們查看,可以看到最關鍵的兩部分信息就是 cardlistInfo 和 cards,將二者展開,cardlistInfo 里面包含了一個比較重要的信息就是 total,經過觀察后發現其實它是微博的總數量,我們可以根據這個數字來估算出分頁的數目。

Python實現爬取馬云的微博功能示例

發現它又有一個比較重要的字段,叫做 mblog,繼續把它展開,發現它包含的正是微博的一些信息。比如 attitudes_count 贊數目、comments_count 評論數目、reposts_count 轉發數目、created_at 發布時間、text 微博正文等等,得來全不費功夫,而且都是一些格式化的內容,所以我們提取信息也更加方便了。

這樣我們可以請求一個接口就得到 10 條微博,而且請求的時候只需要改變 page 參數即可。這樣我們只需要簡單做一個循環就可以獲取到所有的微博了。

實戰演練

在這里我們就開始用程序來模擬這些 Ajax 請求,將馬云的所有微博全部爬取下來。

首先我們定義一個方法,來獲取每次請求的結果,在請求時page 是一個可變參數,所以我們將它作為方法的參數傳遞進來,代碼如下:

from urllib.parse import urlencode
import requests
base_url = 'https://m.weibo.cn/api/container/getIndex?'
headers = {
  'Host': 'm.weibo.cn',
  'Referer': 'https://m.weibo.cn/u/2145291155',
  'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
  'X-Requested-With': 'XMLHttpRequest',
}
def get_page(page):
  params = {
    'display': '0',
    'retcode': '6102',
    'type': 'uid',
    'value': '2145291155',
    'containerid': '1076032145291155',
    'page': page
  }
  url = base_url + urlencode(params)
  try:
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
      return response.json()
  except requests.ConnectionError as e:
    print('Error', e.args)

當前文章:Python實現爬取馬云的微博功能示例-創新互聯
文章來源:http://vcdvsql.cn/article30/jioso.html

成都網站建設公司_創新互聯,為您提供關鍵詞優化企業建站網頁設計公司網站排名網站收錄企業網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管