python抓取抖音app熱榜數據

以前短視頻還沒有這麼火的時候,我們看熱點新聞都是通過微博或今日頭條等獲取信息。如今短視頻已經成了大衆的基本娛樂項目,特別是抖音。很多人自從有了抖音,有問題是直接搜抖音獲取答案,而不是百度了。那今天給大家分享一篇簡單的安卓app數據分析及抓取方法。就以抖音爲例,我們想要抓取抖音的熱點榜數據。

要知道這個是沒有網頁版的,只有通過app獲取,app數據的獲取主要是通過以下過程,使用抓包工具、手機使用代理,app所有請求通過抓包工具、獲得接口,分析接口、突破反爬限制。整個過程比較復,這裏我們分享下部分代代碼的實現,主要是ip限制的部,可以通過使用爬蟲代理ip來解決,示例如下:

// 要訪問的目標頁面
string targetUrl = "http://httpbin.org/ip";


// 代理服務器(產品官網 www.16yun.cn)
string proxyHost = "http://t.16yun.cn";
string proxyPort = "31111";

// 代理驗證信息
string proxyUser = "username";
string proxyPass = "password";

// 設置代理服務器
WebProxy proxy = new WebProxy(string.Format("{0}:{1}", proxyHost, proxyPort), true);


ServicePointManager.Expect100Continue = false;

var request = WebRequest.Create(targetUrl) as HttpWebRequest;

request.AllowAutoRedirect = true;
request.KeepAlive = true;
request.Method    = "GET";
request.Proxy     = proxy;

//request.Proxy.Credentials = CredentialCache.DefaultCredentials;

request.Proxy.Credentials = new System.Net.NetworkCredential(proxyUser, proxyPass);

// 設置Proxy Tunnel
// Random ran=new Random();
// int tunnel =ran.Next(1,10000);
// request.Headers.Add("Proxy-Tunnel", String.valueOf(tunnel));


//request.Timeout = 20000;
//request.ServicePoint.ConnectionLimit = 512;
//request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36";
//request.Headers.Add("Cache-Control", "max-age=0");
//request.Headers.Add("DNT", "1");


//String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(proxyUser + ":" + proxyPass));
//request.Headers.Add("Proxy-Authorization", "Basic " + encoded);

using (var response = request.GetResponse() as HttpWebResponse)
using (var sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
    string htmlStr = sr.ReadToEnd();
}

對獲取到的數據進行分析就可以得到需要的數據了。這裏着重分享下爬蟲代理的使用,這對很多新手小白來說是學習借鑑價值的,關於更多的代理使用可以去跟廠家詳細溝通www.16yun.cn。

 

若有收穫,就點個贊吧

 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章