cnblogs' api 簡要分析 (文章獲取篇)

来源:http://www.cnblogs.com/hwding/archive/2016/07/18/5681857.html
-Advertisement-
Play Games

通過packet capture對舊版的第三方app進行抓包分析以後,能夠獲取cnblogs對app開放的一些api。 簡要介紹直接和網站文章內容相關的api。 希望更多精美的第三方app能夠出現 :) host:http://www.cnblogs.com endpoint:/mvc/aggsit ...


通過packet capture對舊版的第三方app進行抓包分析以後,能夠獲取cnblogs對app開放的一些api。

簡要介紹直接和網站文章內容相關的api。

希望更多精美的第三方app能夠出現 :)

 

host:http://www.cnblogs.com

endpoint:/mvc/aggsite/postlist.aspx

attrs&values:

attr categoryType parentCategoryID categoryID pageIndex itemListActionName
value TopSiteCategory 0 108705 1 PostList

 

 

[categoryType]

values:

MyDigged 我贊過的
MyCommented 我評論過的
News 新聞
MyFollowing 我關註的
HomeCandidate 首頁候選區
Picked 精選
AllPosts 所有隨筆
SiteHome 首頁
SiteCategory 首頁分類
TopSiteCategory 首頁分類
... ...

用於指定頁面分類,獲取某些子分類需要和和ParentCategoryId及CategoryId配合使用。

 

 

[parentCategoryID]

values:

1 第一母分類(.NET技術)
2 第二母分類(編程語言)
3 第三母分類(軟體設計)
... ...

獲取子分類是用於定位母分類的屬性,如下圖,ruby位於第二母分類,則其parentCategoryID==2。

 

 

[pageIndex]

即頁碼,不做贅述。

 

[categoryID]

子分類的編號。可從pagesource中獲取。

1 <script type="text/javascript">
2                 var aggSiteModel = {"CategoryType":"SiteCategory","ParentCategoryId":2,"CategoryId":106876,"PageIndex":1,"TotalPostCount":4000,"ItemListActionName":"PostList"};
3             </script>

 

[itemListActionName]

values:

PostList 發佈的文章列表(意義尚不明)
... ...

 

/*Separate Line Here*/

 

將以上參數拼接,得到:http://www.cnblogs.com/mvc/aggsite/postlist.aspx?&pageindex=1&itemListActionName=PostList?categoryType=SiteCategory&ParentCategoryId=2&PageIndex=1&CategoryId=106882

請求以上URL,即可返回該分類下的文章列表(此例中為 首頁->編程語言->PHP)。

 

便於解析反序列化的HTML代碼:

  1 <div class="post_item">
  2 <div class="digg">
  3     <div class="diggit" onclick="DiggPost('hzd2010',5681394,294758,1)"> 
  4     <span class="diggnum" id="digg_count_5681394">0</span>
  5     </div>
  6     <div class="clear"></div>
  7     <div id="digg_tip_5681394" class="digg_tip"></div>
  8 </div>      
  9 <div class="post_item_body">
 10     <h3><a class="titlelnk" href="http://www.cnblogs.com/hzd2010/p/5681394.html" target="_blank">win10本地搭建apache+php+mysql運行環境</a></h3>                   
 11     <p class="post_item_summary">
 12     首先下載所需軟體: Vc2015:https://www.microsoft.com/zh-CN/download/details.aspx?id=48145 Vc2012:http://www.microsoft.com/zh-CN/download/details.aspx?id=30679 A ...
 13     </p>              
 14     <div class="post_item_foot">                    
 15     <a href="http://www.cnblogs.com/hzd2010/" class="lightblue">黃志東</a> 
 16     發佈於 2016-07-18 15:27 
 17     <span class="article_comment"><a href="http://www.cnblogs.com/hzd2010/p/5681394.html#commentform" title="" class="gray">
 18         評論(0)</a></span><span class="article_view"><a href="http://www.cnblogs.com/hzd2010/p/5681394.html" class="gray">閱讀(6)</a></span></div>
 19 </div>
 20 <div class="clear"></div>
 21 </div>
 22 <div class="post_item">
 23 <div class="digg">
 24     <div class="diggit" onclick="DiggPost('hzd2010',5681233,294758,1)"> 
 25     <span class="diggnum" id="digg_count_5681233">0</span>
 26     </div>
 27     <div class="clear"></div>
 28     <div id="digg_tip_5681233" class="digg_tip"></div>
 29 </div>      
 30 <div class="post_item_body">
 31     <h3><a class="titlelnk" href="http://www.cnblogs.com/hzd2010/p/5681233.html" target="_blank">windows2003伺服器mysql每天定時備份</a></h3>                   
 32     <p class="post_item_summary">
 33     1.php利用mysqldump備份資料庫,代碼如下: 2.通過bat運行以上php文件,bat文件內容如下: 其中:&#160;e:/wamp/php5.4.44/php.exe :php安裝路徑;&#160;e:/wamp/backup.php :要運行的php文件;&#160;zzy :要備份的資料庫;&#160;30 :備份數據保 ...
 34     </p>              
 35     <div class="post_item_foot">                    
 36     <a href="http://www.cnblogs.com/hzd2010/" class="lightblue">黃志東</a> 
 37     發佈於 2016-07-18 14:56 
 38     <span class="article_comment"><a href="http://www.cnblogs.com/hzd2010/p/5681233.html#commentform" title="" class="gray">
 39         評論(0)</a></span><span class="article_view"><a href="http://www.cnblogs.com/hzd2010/p/5681233.html" class="gray">閱讀(8)</a></span></div>
 40 </div>
 41 <div class="clear"></div>
 42 </div>
 43 <div class="post_item">
 44 <div class="digg">
 45     <div class="diggit" onclick="DiggPost('zhenbianshu',5676822,247982,1)"> 
 46     <span class="diggnum" id="digg_count_5676822">2</span>
 47     </div>
 48     <div class="clear"></div>
 49     <div id="digg_tip_5676822" class="digg_tip"></div>
 50 </div>      
 51 <div class="post_item_body">
 52     <h3><a class="titlelnk" href="http://www.cnblogs.com/zhenbianshu/p/5676822.html" target="_blank">初探PHP多進程</a></h3>                   
 53     <p class="post_item_summary">
 54     們都知道PHP是單進程執行的,PHP處理多併發主要是依賴伺服器或PHP-FPM的多進程及它們進程的復用,但PHP實現多進程也意義重大,尤其是在後臺Cli模式下處理大量數據或運行後臺DEMON守護進程時,多進程的優勢不用多說。 ...
 55     </p>              
 56     <div class="post_item_foot">                    
 57     <a href="http://www.cnblogs.com/zhenbianshu/" class="lightblue">枕邊書</a> 
 58     發佈於 2016-07-18 10:26 
 59     <span class="article_comment"><a href="http://www.cnblogs.com/zhenbianshu/p/5676822.html#commentform" title="" class="gray">
 60         評論(0)</a></span><span class="article_view"><a href="http://www.cnblogs.com/zhenbianshu/p/5676822.html" class="gray">閱讀(214)</a></span></div>
 61 </div>
 62 <div class="clear"></div>
 63 </div>
 64 <div class="post_item">
 65 <div class="digg">
 66     <div class="diggit" onclick="DiggPost('androidshouce',5679998,289500,1)"> 
 67     <span class="diggnum" id="digg_count_5679998">0</span>
 68     </div>
 69     <div class="clear"></div>
 70     <div id="digg_tip_5679998" class="digg_tip"></div>
 71 </div>      
 72 <div class="post_item_body">
 73     <h3><a class="titlelnk" href="http://www.cnblogs.com/androidshouce/p/5679998.html" target="_blank">正則表達式的奧秘</a></h3>                   
 74     <p class="post_item_summary">
 75     1,正則表達式簡介 (1)什麼是正則表達式:是使用某種模式去匹配一類字元串的公式,它主要用於字元串的校驗,分割,查找及替換操作。 (2)正則表達式的作用:替換文本或者代碼中的某些字元,編輯軟體無法完成的查找和替換,可以使用正則表達式來完成幾乎全部的文本查找和替換工作。 正則表達式的強大功能源於它可以 ...
 76     </p>              
 77     <div class="post_item_foot">                    
 78     <a href="http://www.cnblogs.com/androidshouce/" class="lightblue">2778085001</a> 
 79     發佈於 2016-07-18 08:50 
 80     <span class="article_comment"><a href="http://www.cnblogs.com/androidshouce/p/5679998.html#commentform" title="" class="gray">
 81         評論(0)</a></span><span class="article_view"><a href="http://www.cnblogs.com/androidshouce/p/5679998.html" class="gray">閱讀(18)</a></span></div>
 82 </div>
 83 <div class="clear"></div>
 84 </div>
 85 <div class="post_item">
 86 <div class="digg">
 87     <div class="diggit" onclick="DiggPost('weihui-vip',5679189,294589,1)"> 
 88     <span class="diggnum" id="digg_count_5679189">0</span>
 89     </div>
 90     <div class="clear"></div>
 91     <div id="digg_tip_5679189" class="digg_tip"></div>
 92 </div>      
 93 <div class="post_item_body">
 94     <h3><a class="titlelnk" href="http://www.cnblogs.com/weihui-vip/p/5679189.html" target="_blank">Ajax和JavaScript的區別</a></h3>                   
 95     <p class="post_item_summary">
 96     javascript是一種在瀏覽器端執行的腳本語言,Ajax是一種創建互動式網頁應用的開發技術&#160;,它是利用了一系列相關的技術其中就包括javascript。Javascript是由網景公司開發的一種腳本語言,它和sun公司的java語言是沒有任何關係的,它們相似的名稱只是一種行銷策略。在一般的web ...
 97     </p>              
 98     <div class="post_item_foot">                    
 99     <a href="http://www.cnblogs.com/weihui-vip/" class="lightblue">微慧</a> 
100     發佈於 2016-07-17 19:19 
101     <span class="article_comment"><a href="http://www.cnblogs.com/weihui-vip/p/5679189.html#commentform" title="" class="gray">
102         評論(0)</a></span><span class="article_view"><a href="http://www.cnblogs.com/weihui-vip/p/5679189.html" class="gray">閱讀(30)</a></span></div>
103 </div>
104 <div class="clear"></div>
105 </div>
106 <div class="post_item">
107 <div class="digg">
108     <div class="diggit" onclick="DiggPost('CraryPrimitiveMan',5678362,170872,1)"> 
109     <span class="diggnum" id="digg_count_5678362">0</span>
110     </div>
111     <div class="clear"></div>
112     <div id="digg_tip_5678362" class="digg_tip"></div>
113 </div>      
114 <div class="post_item_body">
115     <h3><a class="titlelnk" href="http://www.cnblogs.com/CraryPrimitiveMan/p/5678362.html" target="_blank">Yii2的深入學習--行為Behavior</a></h3>                   
116     <p class="post_item_summary">
117     我們先來看下行為在 Yii2 中的使用,行為是Behavior類或其子類的實例,可以無須改變類繼承關係即可增強一個已有的組件類功能。 ...
118     </p>              
119     <div class="post_item_foot">                    
120     <a href="http://www.cnblogs.com/CraryPrimitiveMan/" class="lightblue">瘋狂的原始人</a> 
121     發佈於 2016-07-17 12:49 
122     <span class="article_comment"><a href="http://www.cnblogs.com/CraryPrimitiveMan/p/5678362.html#commentform" title="" class="gray">
123         評論(0)</a></span><span class="article_view"><a href="http://www.cnblogs.com/CraryPrimitiveMan/p/5678362.html" class="gray">閱讀(19)</a></span></div>
124 </div>
125 <div class="clear"></div>
126 </div>
127 <div class="post_item">
128 <div class="digg">
129     <div class="diggit" onclick="DiggPost('weihui-vip',5677823,294589,1)"> 
130     <span class="diggnum" id="digg_count_5677823">0</span>
131     </div>
132     <div class="clear"></div>
133     <div id="digg_tip_5677823" class="digg_tip"></div>
134 </div>      
135 <div class="post_item_body">
136     <h3><a class="titlelnk" href="http://www.cnblogs.com/weihui-vip/p/5677823.html" target="_blank">為什麼要用ajax</a></h3>                   
137     <p class="post_item_summary">
138     Ajax應用程式的優勢在於:1.&#160;通過非同步模式,提升了用戶體驗2.&#160;優化了瀏覽器和伺服器之間的傳輸,減少不必要的數據往返,減少了帶寬占用3.&#160;Ajax引擎在客戶端運行,承擔了一部分本來由伺服器承擔的工作,從而減少了大用戶量下的伺服器負載。2、AJAX最大的特點是什麼。Ajax可以實現動態不刷新(局部 ...
139     </p>              
140     <div class="post_item_foot">                    
141     <a href="http://www.cnblogs.com/weihui-vip/" class="lightblue">微慧</a> 
142     發佈於 2016-07-17 09:02 
143     <span class="article_comment"><a href="http://www.cnblogs.com/weihui-vip/p/5677823.html#commentform" title="" class="gray">
144         評論(0)</a></span><span class="article_view"><a href="http://www.cnblogs.com/weihui-vip/p/5677823.html" class="gray">閱讀(36)</a></span></div>
145 </div>
146 <div class="clear"></div>
147 </div>
148 <div class="post_item">
149 <div class="digg">
150     <div class="diggit" onclick="DiggPost('androidshouce',5675298,289500,1)"> 
151     <span class="diggnum" id="digg_count_5675298">0</span>
152     </div>
153     <div class="clear"></div>
154     <div id="digg_tip_5675298" class="digg_tip"></div>
155 </div>      
156 <div class="post_item_body">
157     <h3><a class="titlelnk" href="http://www.cnblogs.com/androidshouce/p/5675298.html" target="_blank">PHP正則表達式入門教程[轉]</a></h3>                   
158     <p class="post_item_summary">
159     思維導圖 點擊下圖,可以看具體內容! 介紹 正則表達式,大家在開發中應該是經常用到,現在很多開發語言都有正則表達式的應用,比如javascript,java,.net,php等等,我今天就把我對正則表達式的理解跟大家嘮嘮,不當之處,請多多指教! 需要知道的術語——下麵的術語你知道多少? 需要知道的術 ...
160     </p>              
161     <div class="post_item_foot">                    
162     <a href="http://www.cnblogs.com/androidshouce/" class="lightblue">2778085001</a> 
163     發佈於 2016-07-16 08:44 
164     <span class="article_comment"><a href="http://www.cnblogs.com/androidshouce/p/5675298.html#commentform" title="" class="gray">
165         評論(0)</a></span><span class="article_view"><a href="http://www.cnblogs.com/androidshouce/p/5675298.html" class="gray">閱讀(41)</a></span></
              
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、概述 觀察者模式定義了對象之間的一對多依賴,這樣一來,當一個對象改變狀態時,它的所有依賴者都會收到通知並自動更新。觀察者模式有時成為發佈/訂閱模式,就是讓多個對象在一個對象的狀態改變時被通知到。 二、解決問題 當一個系統有多個類協同工作,如果在一個類中需要知道另外一個類的實現細節才能讓系統運轉, ...
  • 優秀程式設計的Kiss原則(keep it simple,stupid) 優秀程式設計的Kiss原則(keep it simple,stupid) 良好的編程原則與良好的設計工程原則密切相關。本文總結的這些設計原則,幫助開發者更有效率的編寫代碼,並幫助成為一名優秀的程式員。 1.避免重覆原則(DRY ...
  • 面向對象 問題 面向對象的好處 學一門技術是否需要趣味性、通俗性的指導 面向對象 什麼是對象 世間任何事物都可以定義為對象。 什麼是類 類就是把對象的公共屬性和方法抽離出來形成集合的抽象,也就是說,類是一種抽象,用來描述對象特征的抽象。 什麼是實例 實例就是對象,就好比我們,就是人這種抽象的一個實例 ...
  • 在本人寫的前一篇文章中,談及有關如何利用Netty開發實現,高性能RPC伺服器的一些設計思路、設計原理,以及具體的實現方案(具體參見:談談如何使用Netty開發實現高性能的RPC伺服器)。在文章的最後提及到,其實基於該方案設計的RPC伺服器的處理性能,還有優化的餘地。於是利用周末的時間,在原來Net ...
  • 場景 自己弄了一個 "個人站點" ,平時文章更多的是在博客園寫就,也懶得將博文搬走,於是想到做一個爬蟲將博文目錄結構以及分類爬取到自己的個人站點上,(雖然沒有,也算為博客園增加權重引流了)。 流程 思路是開一個子進程,每隔30分鐘爬取博客園自己個人的博文目錄和結構,保存到資料庫。再在跳到對應路由的時 ...
  • clip 屬性是用來設置元素的形狀。用來剪裁絕對定位元素(absolute or fixed)。 clip有三種取值:auto |inherit|rect。inherit是繼承,ie不支持這個屬性, auto是預設 前兩個基本屬於打醬油的,我們主要來說一下clip的rect屬性。 clip的rect ...
  • 上周看到大家在JS群討論如何把一句英文句子單詞收割字母大寫,大家都說用正則簡單,對於正則還是有點模糊,於是乎自己敲了下 結果是出來了,總感覺不是很好、、、 ...
  • 使用方法:在JS包的說明裡;直接使用例子也是可以的 起因:一直以來,移動端選擇器都是自己在網上滿世界的找插件 缺點: 1.前期需要自己找非常多的插件,進行篩選;浪費了自己大量的時間 2.符合要求的少之又少,能最後用上的就更少了; 3.項目有特殊要求,又要符合設計稿,難上加難; 所以,這次自己寫了一個 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...