日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据流程分析【转】

發布時間:2025/5/22 java 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据流程分析【转】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java版 QQ空間自動登錄無需拷貝cookie一天抓取30WQQ說說數據&流程分析

QQ空間說說抓取難度比較大,花了一個星期才研究清楚!

?代碼請移步到GitHub GitHub地址:https://github.com/20100507/Qzone?【沒有加入多線程,希望你可以參與進來加入多線程不過 單個QQ請求頻率不可以太高 ?過多的線程就需要 更多的QQ小號輪流登錄】 不要忘了點一個贊 哈哈哈~~? ? ? ?

1.?截圖看一看效果:

? ? ? 1.1抓取執行過程:? ? ? ? ?

? ? ?1.2 部分數據截圖:

?

1.3 每一個說說的具體內容

?1.4 70W說說數據文件大小:

? ? ? ??

?

2.接下來分析整個執行的流程

? 2.1代碼結構圖【項目是采用Maven構建】:

? ? ? ?

? ?簡單的說一下整個代碼的結構:

  • QQBean ? ? ? ? 是對QQ密碼和賬號的簡單的一個封裝,
  • VerifyCode ? ? ?提取驗證碼的【如果你的QQ號碼是異地登錄就需要輸入驗證碼或者騰訊檢測到你不安全】
  • QzoneEncrypt 加密 倆個重要的參數 一個是加密QQ密碼【騰訊在傳輸密碼是做得很安全】,一個是加密g_tk,這個在獲取說說時必須攜帶
  • GetQQByProperties ?讀取num.properties文件中的QQ賬號和密碼
  • KeyWord?? 對QQ賬號密碼 和關鍵參數的一個提取
  • Login 使用加密后的密碼和QQ賬號 登錄 獲取相關重要的cookie?
  • InputNameAndPwd 在login基礎上再次調用其他登錄接口直到真正登錄到平常打開的QQ空間好友動態頁面從頁面中提取到?g_qzonetoken
  • GetMsgBoard 獲取QQ用戶留言
  • GetQNum 獲取你的好友的列表
  • GetShuoShuoData 獲取說說數據
  • login.js 是網上的一位高人,提取加密QQ密碼的js精華
  • entry.js是對g_tk的加密的獲取
  • num.properties 是存放QQ和密碼的地方 如果你真的想保存數據的話 你最好放上6個無須驗證碼登錄的QQ小號 就臨時注冊幾個就完事了,切記一定不要使用一個,否則封號了就吉吉了。
  • ? ?2.2Visio分析流程

    ? ? ??

    ?

    ? ? 上面的Vsio的圖,和代碼中基本上都對應了,對于保存留言也很簡單,換一個路徑就好,所有的必要參數和cookie都已經拿到。如果想要保存一個人所有的QQ說說數據,切換分頁的參數即可,but,我的代碼中沒有加入分頁,僅僅保存每個QQ用戶的首頁的說說數據,懶得弄了,就是那么回事,就是在研究參數和cookie真的很費勁!!!!

    ?2.3 測試代碼中 請注意:

    ? ? 1. 注意我寫的 try-catch,之前程序沒有使用try-catch,程序在執行中 ,會由于網絡原因拋出異常 ,如果拋給了虛擬機 ,JVM就停止,程序就掛了,干脆我就catch異常,如果catch到異常,我就在遞歸再次調用你,防止網絡原因,導致程序極容易停止。

    ? ? 2.注意一點,我的在 ?%25 ,也就是輪詢QQ號登陸,每個QQ號采集25個用戶我就重新換其他的QQ用戶登錄,num.properties中的QQ數量越多越好【封號率越低】,%多少看自己的喜好!

    ? ??

    1 package qzone_enter;2 3 import java.io.IOException;4 import java.util.List;5 6 import org.bianqi.enter.bean.QQBean;7 import org.bianqi.enter.key.GetQQByProperties;8 import org.bianqi.enter.key.KeyWord;9 import org.bianqi.enter.login.InputNameAndPwd; 10 import org.bianqi.getdata.GetShuoShuoData; 11 12 public class GetMyShuoShuo { 13 14 public static List<QQBean> listQQ = null; 15 public static int k = 0; 16 17 static { 18 try { 19 listQQ = GetQQByProperties.getQQNumAndPwd(); 20 KeyWord.uin = listQQ.get(k).getNum(); 21 KeyWord.password = listQQ.get(k).getPwd(); 22 System.out.println("初始化"+KeyWord.uin+"登錄~~~~~~~~~~~~~"); 23 InputNameAndPwd.login(); 24 } catch (IOException e) { 25 e.printStackTrace(); 26 } 27 } 28 29 public static void getShuoshuoDemo(long i, long j) throws Exception { 30 try { 31 for (; i <= j; i++) { 32 if (i % 25 == 0) { 33 if (k == listQQ.size()) { 34 k = 0; 35 } 36 KeyWord.uin = listQQ.get(k).getNum(); 37 KeyWord.password = listQQ.get(k).getPwd(); 38 System.out.println("切換到"+KeyWord.uin+"登錄"); 39 InputNameAndPwd.login(); 40 k++; 41 } 42 GetShuoShuoData.getShuoData(Long.toString(i)); 43 System.out.println(KeyWord.uin+"正在采集==============QQ用戶" + i + "數據======================="); 44 } 45 } catch (Exception e) { 46 e.printStackTrace(); 47 GetMyShuoShuo.getShuoshuo(i, j); 48 } 49 } 50 51 public static void getShuoshuo(long i, long j) throws Exception { 52 try { 53 for (; i <= j; i++) { 54 if (i % 25 == 0) { 55 if (k == listQQ.size()) { 56 k = 0; 57 } 58 KeyWord.uin = listQQ.get(k).getNum(); 59 KeyWord.password = listQQ.get(k).getPwd(); 60 System.out.println("切換到"+KeyWord.uin+"登錄"); 61 InputNameAndPwd.login(); 62 k++; 63 } 64 GetShuoShuoData.getShuoData(Long.toString(i)); 65 System.out.println(KeyWord.uin+"正在采集==============QQ用戶" + i + "數據======================="); 66 } 67 } catch (Exception e) { 68 e.printStackTrace(); 69 GetMyShuoShuo.getShuoshuoDemo(i, j); 70 } 71 } 72 73 public static void main(String[] args) throws Exception { 74 // 開始QQ號 結束QQ號 75 long i = 669424; 76 long j = 2000000000; 77 getShuoshuo(i, j); 78 } 79 }

    ?

    ?3.1總結

    ? ? ? ? ? ? ? ? ? ?就目前來看,我的網速可能不是很好,但是一天依然可以保存30W說說數據,但是有時候程序也會假死,也許是網絡不好。

    ? ? ? ? ? ? ? ? ? ?還有,有時候 莫名的需要你輸入驗證碼,沒有辦法你就在瀏覽器輸入這個QQ賬號密碼,手動多輸入幾次驗證碼,他就一般不會檢測了。不在需要驗證碼

    ? ? ? ? ? ? ? ? ? PS【驗證碼需要打碼平臺 但是我沒有整,but 需要money哦~還有 , 驗證碼圖片會自動保存到項目路徑下但是,手動輸入驗證碼目前程序也不通過,可以修復的幫我修 ? ? ? ? ? ? ? ? ? ? 復一下 謝謝~~~】

    ? ? ? ? ? ? ? ? ?num.properties中 QQ號碼低于12個也有可能封號,再次強調QQ小號一定要多,讓他檢測不出你是爬蟲。如果你就一個QQ號就不要嘗試玩 ,封號不要怪我!

    ? ? ? ? ? ? ? ? ? 沒有采用多線程技術,一個原因我也沒有那么多的QQ小號。如果每一個QQ訪問頻率太高就會封號!!

    ? ? ? ? ? ? ? ? ? 記得在GitHub點一個贊!哈哈哈

    ?

    轉自:http://www.cnblogs.com/bianqi/p/7206885.html

    轉載于:https://www.cnblogs.com/abcd19880817/p/7211247.html

    總結

    以上是生活随笔為你收集整理的Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据流程分析【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。