文章采集组合工具(Python:最简单的组合requests+bs4,当时自己学习Python最初)
优采云 发布时间: 2021-12-22 17:13文章采集组合工具(Python:最简单的组合requests+bs4,当时自己学习Python最初)
作为一个年轻的实证研究人员??有段时间,因为研究的需要,不得不做一个有针对性的爬虫。这就是我自学Python的初衷。那个时候,没有太多的爬虫材料。在网上找了一些文章和电子书来学习。边学习边尝试,很快就完成了。
完成后还是会时不时关注爬虫的技术教程。后来发现网上有很多小伙伴开始学习爬虫,很多都是非专业的朋友(工作不是爬虫)。
我个人认为(不一定正确)爬行动物之火是由用户需求(研究需求;乐趣;早期采用者......)和培训师驱动的。作为一个实证研究人员,你确实需要一些爬虫技术来帮助你完成数据采集。这时候就需要选择更好的工具了。如果阅读比较老的网上经验帖或者听第三方培训,选择不适合的工具,会占用过多的研究时间,影响研究进度。
场景:做实证研究,需要取数,可以通过爬虫(directed crawlers)来实现。那么,如何选择工具呢?
Python:最简单的requests+bs4组合
当时花了很多时间研究urllib和requests的异同,bs4和lxml的异同...嘿嘿,左手一个urllib,右手一个request ...浪费时间?
期间也学过Scrapy,但是不习惯,后来也没有认真学习。
另外,去折腾无头浏览器。你好,对于只是用数据做研究和发帖文章的年轻人来说,实际上没有必要研究无头浏览器。
技术行业有专攻,过于复杂的爬虫还是交给专业的合作伙伴自己研究、设计、构思。
它有多复杂?这里有些例子:
可以跳过的工具
R社区的小伙伴们很热情,自己编译了一些包,也可以爬取。一些初学者朋友很兴奋,R可以爬。其实爬虫并不是R语言的强项。如果不是尝鲜者,没必要花时间学习用R来实现爬虫。有很多时间可以学习数据分析和报告撰写的技巧。
Stata是年轻有经验的年轻人常用的工具。开始应用微测量非常方便。如果分析结果都是满天星,那该有多爽?
现在有朋友用Stata做爬虫,也做文本分析。其实只是一个简单的爬虫,稍微复杂一点的网页或者有点基础的反爬虫机制,Stata都处理不了。因此,爬虫不应该费心去实证分析好伙伴Stata,而将其交给其他更好的工具。
微信文章推荐使用curl爬取。curl 的官方介绍是“使用 URL 传输数据的命令行工具和库”。我只是简单地使用了 curl。个人认为在爬虫场景下没有requests+bs4组合那么好用。
其他工具
另外,我也试过 Julia() 和 Node.js 中的 requests 工具,但是感觉不舒服。这与个人技能不熟练和工具生态不成熟有关。但是,在 Node.js 中编写爬虫仍然很有趣。
还有一些Go爬虫工具,以后可以试试。
除了自己写代码,网上也有一些数据采集工具,大家也可以试试。
以上是对“取数据、做实证研究、发帖文章”的爬虫工具选择的看法。一家之言,仅供参考?