type
status
date
slug
summary
tags
category
icon
password
😀
什么是mlscraper?
mlscraper 是一个Python库,它允许你通过提供几个 示例 来训练模型,从而自动从HTML页面抓取数据。你不需要花费大量时间来研究网页的HTML结构并编写复杂的CSS选择器,只需要告诉mlscraper你想要什么,它就能自动完成剩下的工作。
简单来说,你只需要:
- 提供几个你想要抓取的网页示例,并标注出你想要提取的数据。
- 让mlscraper学习这些示例,它会自动找出提取数据的规则。
- 将学习到的规则应用到新的网页,mlscraper会自动提取数据并返回给你!
为什么选择mlscraper?
- 自动化: 不再需要手动编写CSS选择器或XPath。 通过示例进行训练,大大减少了人工干预。
- 易于使用: 简单的API设计,几行代码即可上手。
- 开源: 完全开源,你可以自由使用、修改和贡献代码。
- 数据结构化: 抓取的数据以结构化的字典形式返回,方便后续处理。
如何使用mlscraper?
安装:
目前mlscraper还在版本1.0之前,你可以通过以下命令安装最新版本:
示例代码:
下面是一个简单的使用mlscraper的例子,让我们从一个名人名言网站抓取作者姓名和出生日期:
代码解释:
- 准备训练数据: 首先,我们从一个网页获取数据,然后创建一个Sample对象,其中包含了网页的HTML内容以及我们想要提取的数据(作者姓名和出生日期)。
- 训练模型: 使用train_scraper函数,将训练数据传递给mlscraper,它会自动学习提取规则。
- 应用到新的页面: 最后,我们将训练好的模型应用到新的网页,mlscraper会自动提取数据并返回给我们。
Tips:
- 为了获得更好的效果,请提供至少两个以上的训练样本。 样本越多,mlscraper学习到的规则就越准确。
- 确保训练数据中的信息是准确的,这直接影响到最终提取结果的准确性。
进阶使用
除了基本的示例之外,mlscraper还提供了更多高级功能,例如:
- 处理复杂的网页结构: 对于结构复杂的网页,你可以提供更多的训练样本,或者自定义特征提取器。
- 数据清洗: 在提取数据后,你可以使用Python的字符串处理函数或者正则表达式来清洗数据。
- 处理动态网页: 对于使用JavaScript动态加载数据的网页,你可以结合使用Selenium等工具来获取完整的HTML内容,然后再交给mlscraper处理。
总结
mlscraper 为网页数据抓取提供了一个全新的思路。 它通过机器学习的方式,将复杂的网页结构分析和选择器编写过程自动化,大大降低了网页抓取的门槛。 如果你正在寻找一个简单易用、功能强大的自动网页抓取工具,那么 mlscraper 绝对值得一试!
感兴趣的话,快去Github上了解更多信息吧!
- 作者:司徒凌风
- 链接:https://situ.eu.org/article/19b874cb-3972-8026-b29d-c73f5799ce78
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。