爬虫系统被广泛地用在互联网上进行信息的大规模搜集,常见的搜索引擎的背后离不开爬虫的支持。爬虫系统可以认为是由爬取调度、网页内容爬取、网页内容分析这三大模块组成。
然而,传统的爬虫系统需要人工根据特定网页结构,配置合适的爬虫策略,以进行精准有效的数据爬取。人工配置爬虫策略,难以应对复杂多变的网页结构,同时需要对每个网站进行适配,耗时耗力。
大语言模型可以被认为具有一定的匹配与推理能力,是否可以通过大语言模型赋能传统的爬虫系统,实现无需人工参与或者尽可能少人工参与的智能爬虫系统呢?
请从互联网上搜索并了解相关的知识,设计一套智能爬虫系统,实现对一批网站,全自动地生成爬取策略,进行相关数据的爬取。
提示
- 对于反爬虫策略,可以不做复杂的考虑,如:验证码、滑块等人机验证操作;
- 推荐使用 Python 进行爬虫系统的开发与设计,考虑使用 Playwright Web 自动化开源库进行爬取操作;
- 对于爬虫策略,可以认为是通过正则表达式、CSS 选择器等一切可以通过网页源码定位并提取所需信息的手段,可以由计算机自动提取关注的信息即可;
- 简单的交互逻辑:输入/选择需要爬取的网站 → 自动分析并爬取网站的导航页(比如,B 站的某一个分类栏目主页,导航页即是多个子页面的集中展示索引页面) → 整合需要爬取的子页面 URL → 针对子页面进行相关爬取策略的生成(或从已有配置中查找) → 爬取子页面的相关数据。
加分项
- 开发能运行的 Demo,可以随便选择一个网站进行爬取测试(忽略登陆、人机验证等复杂问题);
- 能够自动分析网页有哪些信息是需要被爬取的,且为之生成相关的爬取策略;
- 能够把爬取的数据信息存放在数据库内;
- 能够把存放在数据库内的而数据信息进行再次的整理,如生成相关文章的摘要、关键词信息(人物、地点、时间、事件等)。