Python之微博批量關註,互粉,瞬間暴漲粉絲

来源:https://www.cnblogs.com/Python6359/archive/2018/09/08/9610757.html
-Advertisement-
Play Games

想做自己的微博自媒體,微博大v,剛開始我們肯定要有粉絲才可以,但是我們上哪裡去找粉絲那?花錢買,都是僵屍粉,也就是湊湊數而已,所以我們需要加入互粉群,一個群大概1000人,我們每天關註的人上限大概500個,我們總不能一個一個點進去關註吧,好累的,所以我要批量關註,市面上很多批量關註的軟體不太敢用還是 ...


想做自己的微博自媒體,微博大v,剛開始我們肯定要有粉絲才可以,但是我們上哪裡去找粉絲那?花錢買,都是僵屍粉,也就是湊湊數而已,所以我們需要加入互粉群,一個群大概1000人,我們每天關註的人上限大概500個,我們總不能一個一個點進去關註吧,好累的,所以我要批量關註,市面上很多批量關註的軟體不太敢用還是自己動手寫吧。

思路如下:1.登錄我們自己的微博賬號,加入互粉群

                 2.我們需要獲取互粉群里大量用戶id;

                 3.我們需要調用微博關註介面

 

說乾就乾

   步驟一,前提是我們已經加了一個互粉群

我們用電腦登陸微博這類推薦用谷歌瀏覽器,按F12進入調試模式,如圖

這個時候我們應該會看到全是白色的界面,這個時候我們需要在地址欄替換地址為:https://m.weibo.cn/

或者  自己刪除地址欄u/2109066367/....   別忘了敲個回車

我們會可以切換到消息頁面並且點進去,如圖,

進去群信息之後點擊更多成員,接下來重點來了*********

https://m.weibo.cn/groupChat/userChat/groupMembersList?group_id=4185365567283109&page=3

group_id是群的id

page是請求第幾頁數據,

詳細數據請查看下圖

接下來我們要寫代碼了。

 1 import requests
 2 import sys
 3 import json
 4 import time
 5 reload(sys)
 6 sys.setdefaultencoding('utf8')
 7  
 8 headetr2 = {
 9     'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
10     'Accept-Encoding': 'gzip, deflate, br',
11     'Accept-Language': 'zh-CN,zh;q=0.9',
12     'Cache-Control': 'max-age=0',
13     'Connection': 'keep-alive',
14     'Cookie': 'browser=d2VpYm9mYXhpYW4%3D; h5_deviceID=da4db009e6ae38320111cc4fbc8d1998; _T_WM=46f8072dc2db4752c9f5f1bb610d6934; ALF=1523607764; SCF=AlPdz7Wu9iu_xwiWfMtd1hBGr6mZqaKtCcidCgPrDl6oFAuKmtz3fEopj83TsqAVcRKfrT-DDGed9yNoxpYCYks.; SUB=_2A253rKuyDeRhGeRP61sR9ijPzTuIHXVVbjX6rDV6PUJbktAKLXLmkW1NUFPZQTk64zbcwwxo3HMutNZNPULhugpG; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9W5MyLbIiX5quKaqF190KSgT5JpX5K-hUgL.Fozpeh.7Soq0SoM2dJLoIEXLxKMLBKML12zLxK-L1hqLB-eLxKqL1-2L1KqLxKnL1h.LBozLxKMLBoeLB.zt; SUHB=0YhgX4j3ItdpY-; SSOLoginState=1521015778; H5_INDEX=1; H5_INDEX_TITLE=%E7%A7%8B%E5%86%AC%E6%9A%96%E8%89%B2%E7%B3%BB; M_WEIBOCN_PARAMS=featurecode%3D20000320%26luicode%3D10000011%26lfid%3D1076036364474102',
15     'Host': 'm.weibo.cn',
16     'RA-Sid': 'B781E81A-20150402-024118-ce25e1-ba5345',
17     'RA-Ver': '3.0.8',
18     'Upgrade-Insecure-Requests': '1',
19     'User-Agent': 'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Mobile Safari/537.36'
20 }
21 urluser = "https://m.weibo.cn/groupChat/userChat/groupMembersList?group_id=4185365567283109&page=1"#地址
22 userjson = requests.get(urluser, headers=headetr2).content#發getq
23 print userjson#原數據
24 json_base = json.loads(userjson)#json數據

json的數據格式是這個樣子的

 1 [
 2     {
 3         "card_group": [
 4             {
 5                 "member": {
 6                     "id": 2577089961,
 7                     "profile_image_url": "http://tva2.sinaimg.cn/crop.0.0.0.0.50/999b45a9tw1efrou9m6tzj2050050mx3.jpg",
 8                     "remark": "",
 9                     "screen_name": "霸氣田春_麗_923",
10                     "verified": false,
11                     "verified_type": -1
12                 },
13                 "mod_type": "mod/groupChat/memberItem"
14             },
15             {
16                 "member": {
17                     "id": 5637550097,
18                     "profile_image_url": "http://tva2.sinaimg.cn/crop.0.0.750.750.50/0069wAjnjw8fcw5bic0pwj30ku0kugme.jpg",
19                     "remark": "",
20                     "screen_name": "搞笑博主的日常",
21                     "verified": false,
22                     "verified_type": -1
23                 },
24                 "mod_type": "mod/groupChat/memberItem"
25             },
26             {
27                 "member": {
28                     "id": 6361289052,
29                     "profile_image_url": "http://tvax2.sinaimg.cn/crop.0.0.664.664.50/006WvjSkly8foxdg12pj8j30ig0ig75j.jpg",
30                     "remark": "",
31                     "screen_name": "JK-晗",
32                     "verified": false,
33                     "verified_type": -1
34                 },
35                 "mod_type": "mod/groupChat/memberItem"
36             }
37         ],
38         "mod_type": "mod/pagelist",
39         "next_cursor": "",
40         "previous_cursor": ""
41     }
42 ]

接下來我們就要開始解析json 拿我我們需要的數據就可以了。

1  card_group = json_base[0]['card_group']
2     for num in range(0, len(json_base[0]['card_group'])):
3  
4         member = card_group[num]
5         print member['member']['id']
6         print member['member']['screen_name']

這裡我們要放一放了,我們需要找到點擊關註需要調用的介面了

步驟如下圖

 

下麵畫箭頭的都是需要的數據

數據源,介面都知道了,我們改寫代碼了

1 postData2 = { "uid": member['member']['id'],'st':'8cc84b'}
2         url = 'https://m.weibo.cn/api/friendships/create'
3         json_str = requests.post(url, data=postData2, headers=headetr2).content
4         print json_str.decode('gbk').encode('utf-8').decode('unicode_escape')

*****************************分割線*************************************

我們到這裡就已經可以 

不過需要註意的是,請求過快會報錯,所以最好我們隔幾秒在請求。

如果報10027錯誤,就代表需要輸入驗證碼,批量請求多了以後微博會限制的

如果報校驗失敗,代表需要重新用以上的方法獲取關註介面中的st 這個值

如果報token失效,那就需要重新登陸獲取Cookie。

完整代碼如下

 1 #!/usr/bin/python
 2 # -*- coding: UTF-8 -*-
 3 import requests
 4 import sys
 5 import json
 6 import time
 7 reload(sys)
 8 sys.setdefaultencoding('utf8')
 9  
10 headetr2 = {
11     'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
12     'Accept-Encoding': 'gzip, deflate, br',
13     'Accept-Language': 'zh-CN,zh;q=0.9',
14     'Cache-Control': 'max-age=0',
15     'Connection': 'keep-alive',
16     'Cookie': 'browser=d2VpYm9mYXhpYW4%3D; h5_deviceID=da4db009e6ae38320111cc4fbc8d1998; _T_WM=46f8072dc2db4752c9f5f1bb610d6934; ALF=1523607764; SCF=AlPdz7Wu9iu_xwiWfMtd1hBGr6mZqaKtCcidCgPrDl6oFAuKmtz3fEopj83TsqAVcRKfrT-DDGed9yNoxpYCYks.; SUB=_2A253rKuyDeRhGeRP61sR9ijPzTuIHXVVbjX6rDV6PUJbktAKLXLmkW1NUFPZQTk64zbcwwxo3HMutNZNPULhugpG; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9W5MyLbIiX5quKaqF190KSgT5JpX5K-hUgL.Fozpeh.7Soq0SoM2dJLoIEXLxKMLBKML12zLxK-L1hqLB-eLxKqL1-2L1KqLxKnL1h.LBozLxKMLBoeLB.zt; SUHB=0YhgX4j3ItdpY-; SSOLoginState=1521015778; H5_INDEX=1; H5_INDEX_TITLE=%E7%A7%8B%E5%86%AC%E6%9A%96%E8%89%B2%E7%B3%BB; M_WEIBOCN_PARAMS=featurecode%3D20000320%26luicode%3D10000011%26lfid%3D1076036364474102',
17     'Host': 'm.weibo.cn',
18     'RA-Sid': 'B781E81A-20150402-024118-ce25e1-ba5345',
19     'RA-Ver': '3.0.8',
20     'Upgrade-Insecure-Requests': '1',
21     'User-Agent': 'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Mobile Safari/537.36'
22 }
23 for nums in range(1,50):這裡是模擬頁數 
24     urluser = "https://m.weibo.cn/groupChat/userChat/groupMembersList?group_id=4185365567283109&page=%s"%nums
25     userjson = requests.get(urluser, headers=headetr2).content
26     json_base = json.loads(userjson)
27     card_group = json_base[0]['card_group']
28     for num in range(0, len(json_base[0]['card_group'])):
29  
30         member = card_group[num]
31         print member['member']['id']
32         print member['member']['screen_name']
33         postData2 = { "uid": member['member']['id'],'st':'8cc84b'}#post請求傳的數據
34         url = 'https://m.weibo.cn/api/friendships/create'
35         json_str = requests.post(url, data=postData2, headers=headetr2).content
36         print json_str.decode('gbk').encode('utf-8').decode('unicode_escape')
37  
38         time.sleep(3)
39  
40     time.sleep(10)

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 以下代碼是單片機程式,51單片機,編譯器為HT-IDE3000, 簡單來說 頭文件中只能申明, 變數在頭文件中申明時,要加上extern 這個關鍵字用來告訴編譯器,變數在其它的文件中定義,為什麼要在頭文件中申明變數? >因為想在其它文件里的代碼中使用這些變數, 如在a.c中使用b.c里定義的變數, ...
  • 一.函數的定義 return語句不寫或後邊不加任何對象即為return None 二.函數的參數 無參數 一個參數 多個參數 必須參數 必須按照正確順序和數量傳入參數 關鍵字參數 預設參數 預設參數必須放在必須參數的後面 不定長參數 參數帶一個星號* 參數帶兩個星號** 定義函數的參數時請以必須參數 ...
  • 動態鏈接 要解決空間浪費和更新困難這兩個問題最簡單的辦法就是把程式的模塊相互分割開來,形成獨立的文件,而不再將它們靜態地鏈接在一起。簡單地講,就是不對那些組成程式的目標文件進行鏈接,等到程式要運行時才進行鏈接。也就是說,把鏈接這個過程推遲到了運行時再進行,這就是動態鏈接( Dynamic Linki ...
  • 過期重磅: 全國電腦等級考試二級 Python 語言程式設計考試大綱 (2018 年版) 考試內容 一、Python語言的基本語法元素 二、基本數據類型 三、程式控制結構 四、函數和代碼復用 五、組合數據類型 六、文件和數據格式化 七、Python計算生態 考試方式 上機考試,考試時長 120 分 ...
  • Redis是一個開源(BSD許可),記憶體存儲的數據結構伺服器,可用作資料庫,高速緩存和消息隊列代理。 有時,為了提升整個網站的性能,在開發時會將經常訪問的數據進行緩存,這樣在調用這個數據介面時,可以提高數據載入的效率 本文將在Boot項目中進行Redis的整合,將常用的數據緩存到Redis伺服器中, ...
  • eclipse安裝hibernate tools 下載地址: https://tools.jboss.org/downloads/jbosstools/photon/4.6.0.Final.html 線上安裝 離線安裝 新建java project後加入對應jar包 新建hibernate.cfg. ...
  • 作者作為一個蒟蒻,也是最近才自學了線段樹,不對的地方歡迎大佬們評論,但是不要噴謝謝 好啦,我們就開始說說線段樹吧 線段樹是個支持區間操作和查詢的東東,平時的話還是蠻實用的 下麵以最基本的區間加以及查詢區間和為例 線段樹顧名思義就是棵樹嘛,葉子節點是每個基本點,它們所對應的父親就是它們的和,具體如下圖 ...
  • 題目:消重輸出 題目介紹: 輸入一個正整數,給出消除重覆數字以後最大的整數,註意需要考慮長整數。 例: 輸入:988274320 輸出:9874320 題目分析:這個結果的實現需要兩個步驟:消重和排序。第一步,消重。先用string 和char 將數字分別儲存進char 數組,然後從左邊第一個字元開 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...