1. 谁都会尝试的爬虫(crawling)时需要注意的三件事
最近,在培训机构或在线教育网站的软件教育课程中,爬虫是必不可少的内容。
在大数据分析课程中,爬虫技术也是必不可少的,但是如果粗制滥造,可能无法收集到我想要的数据的10%。尽管投入了大量时间进行开发,但可能会在后期发现问题,导致失败。
那么首先让我们了解一下爬虫,为什么只能收集到10%的数据,然后看看如何解决这个问题。
爬虫教育广告
什么是爬虫?
爬虫(crawling)或者网页抓取(scraping)是指直接获取网页并从中提取数据的行为。进行爬虫的软件被称为爬虫器(crawler)。
接下来让我们了解一下开发爬虫时需要注意的事项。
1) Python是最好的选择吗?
由于Python在数据分析中被广泛使用,大多数教材和教育项目都使用Python来制作爬虫。但并不一定非要使用Python。我们公司 HashScraper 正在使用Ruby来制作爬虫。
只要达到目的,使用任何工具都可以,但选择广泛使用的Python是一个很好的选择。在这个更重视“知道在哪里”而不是“知道如何”的时代,选择一种通过搜索容易解决问题的语言是明智的选择。(但我选择了简单方便的Ruby)
2) IP封锁
看书、努力打字、理解并制作爬虫后,一切都很顺利。但是当你开始收集大型网站的数据时,可能会遇到以下情况:
- IP被封锁
- 要求登录
- 出现验证码
- 跳转到错误页面
由于网络服务器知道你的IP地址,如果频繁请求网页,你的IP可能会被封锁一段时间。
要解决IP封锁问题,应该怎么做呢? 需要更多的IP。这是一个简单但现实上困难的方法。
因此,HashScraper从大约3年前开始使用多个AWS EC2实例来收集数据。此外,根据收集的数据量,应用了AutoScaling技术来自动增加和减少服务器数量。
此外,连续失败的服务器会自行关闭,并创建新实例以分配新的IP地址。
3) IP的分散
像HashScraper这样使用ec2进行爬虫的地方很多,某些服务器可能会封锁整个ec2 IP范围。因此,通过国内托管提供商获取干净的IP,并在需要时使用代理IP服务器。
2. 结论
对于任务或报告撰写所需的数据收集,制作基本爬虫就足够了。
但是,如果要将其应用于业务(市场营销、趋势分析、平台基础数据、搜索影响者等),建议建立完善的爬虫系统。
请阅读以下文章:
数据收集,现在自动化
无需编码,5分钟即可开始 · 5000多个网站爬取经验




