IT帮

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 50|回复: 0

高效爬虫学习路径

[复制链接]

38

主题

44

帖子

51

积分

初中生

Rank: 2

热心值
2
IT币
247
贡献值
1
QQ
发表于 2021-9-24 16:23:41 | 显示全部楼层 |阅读模式
不知道大家有没有发现,现在身边稍微懂爬虫、学习爬虫的人越来越多了。一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样的编程语言提供越来越多的优秀工具,让爬虫变得简单、容易上手。
或许对于小白来说,爬虫可能是一件非常复杂、技术门槛很高的事情。比如有的人认为学爬虫必须精通 Python,然后就勤勤恳恳系统的学习 Python 的每个知识点,很久之后发现仍然爬不了数据;有的人则认为先要掌握网页的知识,遂开始 研究其他方向,结果入了前端的坑。
学习爬虫我们需要掌握正确的方法,在短时间内做到能够爬取主流网站的数据,其实非常容易实现。但建议你从一开始就要有一个具体的目标,你要爬取哪个网站的哪些数据,达到什么量级。 在学习的过程中我们还可以经常逛下爬行相关的技术论坛,里面有很多大神分享的文章是很有学习价值的。今天我们就分享下如何利用python抓取技术论坛里面的文章,这里我们就以csdn的文章为案例,首先我们需要先分析网站的结构,然后再进行爬虫相关文章的爬取。
部分代码示例如下:
// 要访问的目标页面string targetUrl = "https://www.csdn.net/";// 代理服务器(产品官网 it帮论坛真好)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();}
如果只是少量的爬虫文章是没有问题的,但是需要量大的话是有封ip的风险的,所以挂代理是关键的因素,上面示例分享了一家各方面都很优的代理商,有需要小伙伴可以去了解下。学习技术高效的姿势就是从实际的项目中去学习这些零散的知识点,这样就可以保证每次学到的都是最需要的那部分。


ITbang.Net是一个IT教程分享社区!

寻找论坛资源请善用论坛搜索功能,这样会为你节约不少学习时间;

论坛资源如有过期链接失效等,请到教程反馈区发帖反馈,我们会为您良好的行为点赞加分!

回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
IT帮论坛所发布的一切视频资源、工具软件和网络技术相关的文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该资源,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:Service@ITbang.Net

QQ|Archiver|手机版|小黑屋|IT帮社区 ( 冀ICP备19002104号-2 )

GMT+8, 2021-10-19 01:10 , Processed in 0.067303 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表