随笔 - 82  文章 - 2 评论 - 1 阅读 - 28972
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

关于买车,我想很多车主在买车之前都会在网上查询各种资料,对汽车的价格,车型等各方面都进行分析,很多人首选就是“汽车之家”,那么我们今天就给大家扒一扒汽车之家的数据。

我们通过python爬虫程序可以从汽车之家获取到各款汽车名称、价格范围、销量以及关于汽车评价。但是汽车之家虽不至于难爬,但是也不是那么简单就能获取到大量数据的,人家网站也是做的反爬机制的,比如对ip的限制,这是有价值的网站的必有反爬机制。这种情况我们只要在程序里面加上代理就可以解决,稍微严的一些网站光靠代理是不行的还需要更多的反爬策略的辅助才行,像随机ua,cookie这些基本的思路是需要的。这里重点和大家分享下这家代理,长期使用下来稳定性强,靠谱,以下就是我们在爬虫程序里面加上代理的简单示例:

// 要访问的目标页面
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();
}

具体的数据分析我们下次在详细的分享出来,今天就重点交流下子获取数据过程中代理的使用,关于更多的爬虫示例有需要的可以https://www.16yun.cn/#banner

 
 
posted on   小橙子11  阅读(399)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示