百姓網授權登陸網頁的抓取研究

2021-06-26 07:54:21 字數 1524 閱讀 6070

一般的不需要登陸的網頁抓取:(c#)

using system;

using system.io;

using system.net;

using system.text;

namespace csharptest0

catch (exception ex)

finally }}

}

然而需要登陸後,才能獲取的授權網路資源的抓取,要費一些周折。

下面以baixing.com為例講述抓取授權頁面的過程。

首先,我們需要使用httpanalyzer來分析資料流。

httpanalyzer軟體ready後,清空瀏覽器的歷史記錄和已儲存的密碼。

開啟瀏覽器,ie或者chrome都可以。輸入要訪問的uri。開啟httpanalyzer,開啟http資料流抓取功能。再按回車鍵。

之所以沒有在開啟瀏覽器前開啟一般開啟瀏覽器前開啟httpanalyzer。是因為瀏覽器在啟動時會鏈結到我們設定好了的homepage,干擾資料流的分析。

好了,現在如果前述動作執行正確的話,瀏覽器應該進入登陸介面了,而不是我們需要的uri。

接著輸入使用者名稱密碼,進行登陸。完成以後,關閉瀏覽器,進入httpanalyzer介面,停止http資料流抓取。

好了現在分析httpanalyzer抓取到的資料流。

我想要的資源uri :

首先,瀏覽器發出乙個普通的上述httprequest,response是的code是302 not found。response的header裡set-cookie:__trackid=123456789012345。共15位,這是很重要的cookie,接下來的httprequest都會有用到 。response其他的header欄位不重要,暫時忽略。

接下來,瀏覽器使用了剛獲取的__trackid再次傳送了乙個httprequest,url是/oz/login?&redirect=?

cookie有兩個,乙個是__trackid,還有乙個就是_auth_redirect=http%3a%2f%2fwww.baixing.com%2fa%2fb%2fc%2f%2f。

對應的reponse會返回個cookie名稱是__uuid。

然後,再次傳送httprequest,這次是獲取登入介面url是

/oz/login?

&redirect=

?httprequest的cookie變了,變成三個了,除了__trackid和_auth_redirect外,還有個——uuid。

response的cookie會有個token,這個是在post資料時,和使用者名稱密碼一起發給server的,是會話的乙個標記。

接著,你輸入的使用者名稱密碼,額,post個httprequest。post data有使用者名稱和密碼以及token。

post網頁後拿到的response的cookie會有名為:__t,__u,__c,__n,嗯,到此,我們拿到了所有的cookie。

加上之前的__trackid和__uuid。就能抓取到授權網頁了。

需要源**的,留下郵箱索取。

百姓網今晚在復旦的講座

從客齊集到百姓網的這幾年,我們的活動從來沒有離開過校園,比如這個列表 客齊集最近的大學公益講座。百姓網的員工都離開學校不久,如果能用講座的方式給現在還在學校的學弟學妹們一些幫助,是我們最願意做的事情。這一系列的活動的主題是 百姓網 燈塔沙龍.這個沙龍主要目的是為熱愛網際網路行業 正要走向工作崗位的優...

百姓網對開發者的風水

經過一段時間觀察,我發現百姓網的辦公室對於開發者來說,風水不好,需要改變。1 自己坐在竹林裡的亭子裡,小風在吹,我在寫程式 2 自己坐在人民廣場地鐵站裡放了一張桌子寫程式。我覺得我們有變成第二種的傾向。如果乙個開發者認為自己心神不寧,惶惶不可終日,就是開發的風水不好了。如下是我認為風水的問題 1。會...

百姓網對開發者的風水

經過一段時間觀察,我發現百姓網的辦公室對於開發者來說,風水不好,需要改變。1 自己坐在竹林裡的亭子裡,小風在吹,我在寫程式 2 自己坐在人民廣場地鐵站裡放了一張桌子寫程式。我覺得我們有變成第二種的傾向。如果乙個開發者認為自己心神不寧,惶惶不可終日,就是開發的風水不好了。如下是我認為風水的問題 1。會...