新闻采集主要是几个区域识别,包括:列表标签,翻页标签,详情标题,时间,详情正文。
本人总结了市面上开源的标签识别算法:
- GNE 基于规则的抽取,可以抽取列表页,详情页 GeneralNewsExtractor
使用算法:
- 列表页:可视化区域识别,人工辅助
- 详情页: 标题抽取用特定标签组, 时间抽取用正则表达式组,正文抽取文本密度算法,可抽出带h5正文和不带h5正文.
- Geragy 抽取列表页,详情页 GerapyAutoExtractor
使用算法:
- 列表页: 子树的相似度
- 详情页:文本密度
上面是我日常用的比较好的2个库.
- Readability 抽取详情页,Readability
抽取标题,正文,时间供人阅读。
- mlscraper 基于机器学习的网页数据抽取 mlscraper
提供目标数据,它学习数据的规则,并抽取数据
目剪效果最好的通用型详情页抽取库,输入 url 可抽取标题,发布时间,正文(markdown格式), 适合于详情类的抽取(不限于新闻类),缺点是抽取的正文不带h5标签. 使用方法在url 前拼 前缀,r.jina.ai :
https://r.jina.ai/https://www.jiqizhixin.com/articles/081203
基于大模型的爬虫:
-
fire-crawl fire-crawl
可以抓取整个网站的内容,对网站进行深度遍历,去除广告,无用信息,转化成markdown 格式内容。
-
ScrapeGraph、AgentQL