2021-12-29 16:26

《快乐大本营》作为国内最长寿的综艺节目,自从节目停播之后,就备受大家的关注。因为这档节目陪伴了无数80、90后的成长,是不少人的青春回忆,现在《快乐大本营》正式结束了,很多网友都在感叹原来成年人的告别都是这么悄无声息,好难过,曾经的自己也是快乐大本营的小粉丝一枚,虽然已经很久没有看过了,但是想到以后再没有这个节目了还是有些难过,所以今天我准备用自己的爬虫技术采集下快乐大本营历年来的收视率,也算是为自己的童年时光告别下吧。

往期收视数据我们可以在芒果TV()中获得,该网站数据的爬取还是有点难度,整个爬虫过程比较复杂,这里简单的分享下爬虫过程中网站封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();
}

从获取的数据分析我们可以看出,每个周快本的收视率还是有差别的,这里面涉及到很多的因素,我们可以看到在很多综艺节目没有流行的时候快本的收视都是数一数二的,后期因为各种搞笑综艺和各种节目的出现,似乎分流了一些粉丝。希望这些分享可以给在爬虫学习中有需要的小伙伴一些帮助。


评论