Python爬虫入门教程:36氪(36kr)数据抓取实战解析-scrapy篇
深入探索未来之前,我们先回顾一下36氪(36kr)的成长脚步。今日,我们将对36kr的文章内容进行采集,为后续的数据分析做好铺垫。预计在12月底,当我们累积编写至第50个案例分析时,将推出一篇全新的系统数据分析文章,敬请期待!
36kr,引领一部分人预见未来,而今日,我们的任务是探索它的历史轨迹。
网站链接:https://36kr.com/
36kr的页面设计采用了瀑布流形式,随着页面的下拉,数据会从后台动态加载。基于这一特点,可以推测它使用了ajax异步加载数据。只需打开开发者工具,便能迅速找到所需数据,让我们尝试一下!
以下是捕获的链接:
经过多次测试,发现per_page参数最大可扩展至300,但超过100时返回数据不尽如人意,因此我们决定将其设定为100。page参数代表页码,只需循环叠加即可。
另一个关键参数是文章总数,有了它,我们可以快速构建出所需的页码。
页面初始地址为第一页数据,随后通过函数调用获取参数,这里需要注意的是,返回的数据包含关于它的详细说明,具体可参考https://scrapy-chs.readthedocs.io/zh_CN/0.24/topics/request-response.html。
所有参数命名直观明了,基本能准确表达各自含义。在解析数据时,需注意检查某些字段是否存在于字典中。
在代码中,Kr36Item类需提前创建。
最后,编写数据持久化代码。
执行上述代码,未经多余处理,未调整并发速度,也未采取反爬措施,最终大约获取了条数据,与预估相差300多条,影响不大,具体原因未深究,哈哈。
郑重声明:以上内容与本站立场无关。本站发布此内容的目的在于传播更多信息,本站对其观点、判断保持中立,不保证该内容(包括但不限于文字、数据及图表)全部或者部分内容的准确性、真实性、完整性、有效性、及时性、原创性等。相关内容不对各位读者构成任何投资建议,据此操作,风险自担。股市有风险,投资需谨慎。如对该内容存在异议,或发现违法及不良信息,请发送邮件至,我们将安排核实处理。