前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python爬取网站的一些技巧总结

python爬取网站的一些技巧总结

作者头像
小白学大数据
发布2024-06-08 17:34:02
870
发布2024-06-08 17:34:02
举报
文章被收录于专栏:python进阶学习

学习python也有一段时间了,今天整理了一份爬取网站数据的基本步骤分享给大家,对于很多爬虫高手来说可能没有什么意义,但是对新学爬虫的小伙伴来说可以参考下。爬取一个网站的数据整体是比较简单的,难度大小跟这个网站有关。以下就是一些小编整理的步骤: 1、设定爬取目标, 目标网站:微博 https://weibo.com/ 目标数据每天更新的热搜关键词的链接、标题、标签。 2、 分析目标网站 爬取页面:https://s.weibo.com/weibo?q=%E4%BF%9D%E7%A0%94&topic_ad= 待爬取数据:网页下的超链接的标题和链接,标签列表 目标网站反爬:网站反爬的方式有很多,都有应对策略,比如遇到网站限制IP访问次数时,只需要加上代理IP就可以轻松解决。代理IP的选择有很多,比如这里我们给大家示例代理使用方式的亿牛云代理。代理如何在程序里面添加,示例代码如下: Plain Text 复制代码 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 // 要访问的目标页面 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(); } 3、实现HTML解析,得到目标数据。获取数据需要进行清洗整理才能得到一份干净有效的数据。 4、将结果数据存储 这只是其的一些必要步骤,细分还有很多的步骤需要学习,但是我们只要掌握了整体框架,把这些都学透了那么爬虫就没有那么难了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档