A webmining CLI tool & library for python.
项目描述
minet 是一个适用于python (≥ 3.7) 的网络挖掘命令行工具和库,可以用于从各种网络来源(如原始网页、Facebook、YouTube、Twitter、Media Cloud等)收集和提取数据。
它通过让您在命令行界面执行各种任务来以非常简单的方法处理各种网络挖掘问题。无需数据库:原始CSV文件应足以完成大部分工作。
此外,minet 还将其高级程序接口作为Python库公开,以便您可以根据自己的用例更好地使用其工具。
minet 由 médialab SciencesPo 的研究工程师开发,是针对社会科学目标超过十年的网络挖掘实践的巩固。
因此,它被设计成
- 低技术,因为它需要的资源(如内存、CPU或硬盘空间)最少,应该能够在任何低成本PC上工作。
- 容错性强,因为它能够在网络状况不佳时恢复,并在适当的时候重试HTTP调用。更重要的是,大多数minet命令在终止后可以继续执行,并且设计为长时间运行(想想几天或几个月)而不会泄漏内存。
- Unix兼容,因为它可以轻松管道化,并且知道如何处理常规流。
如何引用?
minet 已在 Zenodo 上发布为 10.5281/zenodo.4564399。
您可以这样引用它
Guillaume Plique、Pauline Breteau、Jules Farjas、Héloïse Théro、Jean Descamps、Amélie Pellé、Laura Miguel、César Pichon、& Kelly Christensen. (2019, October 14). Minet,一个用于Python的Web挖掘CLI工具和库。Zenodo. http://doi.org/10.5281/zenodo.4564399
快速浏览
# Downloading large amount of urls as fast as possible
minet fetch url -i urls.csv > report.csv
# Extracting raw text from the downloaded HTML files
minet extract -i report.csv -I downloaded > extracted.csv
# Scraping the urls found in the downloaded HTML files
minet scrape urls -i report.csv -I downloaded > scraped_urls.csv
# Parsing & normalizing the scraped urls
minet url-parse scraped_url -i scraped_urls.csv > parsed_urls.csv
# Scraping data from Twitter
minet twitter scrape tweets "from:medialab_ScPo" > tweets.csv
# Printing a command's help
minet twitter scrape -h
# Searching videos on YouTube
minet youtube search -k "MY-YT-API-KEY" "médialab" > videos.csv
摘要
功能
Minet可以单独执行以下操作
- 从文本文件(或表格)中提取URL
- 解析URL(获取有用信息,包括Facebook和YouTube特定的内容)
- 通过匹配包含URL的列来合并两个CSV文件
- 解析URL列表中的重定向
- ...并检查HTTP状态
- ...并下载HTML
- ...并提取超链接
- ...并提取文本内容和其他元数据(标题等)
- ...并抓取结构化数据(使用声明性语言定义您的启发式规则)
- 爬取(使用声明性语言定义浏览行为和要收集的内容)
- 挖掘或搜索
- Mediacloud(需要免费API访问)
- Twitter(需要免费API访问)
- 维基百科
- Youtube(需要免费API访问)
- 抓取(无需特殊访问权限,通常只需要用户账户)
- 从您的浏览器中获取并导出Cookies
- 导出Hyphe数据
已记录的使用案例
- 获取大量URL
- 通过URL合并2个CSV文件
- 在Jupyter笔记本中使用minet(非常有用,可用于尝试工具或教授学生)
- 下载与Twitter上特定标签相关的图像
- 抓取DSL教程
功能(从技术角度)
- 从网络中多线程、内存高效地获取。
- 多线程、可扩展的爬取。
- 从HTML页面中多进程提取原始文本内容。
- 从HTML页面中多进程抓取。
- 与URL相关的启发式工具,如提取、归一化和匹配。
- 从各种API(如YouTube)收集数据。
安装
minet可以作为独立的CLI工具安装(目前仅支持mac >= 10.14、ubuntu及类似系统),在终端中运行以下命令即可
curl -sSL https://raw.githubusercontent.com/medialab/minet/master/scripts/install.sh | bash
您对我们提供的HTTP请求结果不足以通过管道传递到bash
吗?我们也不会这么做,因此您可以自由地阅读安装脚本在此,并根据自己的需要进行运行。
在ubuntu及类似系统上,您可能需要在运行安装脚本之前安装curl
和unzip
,如果您还没有安装它们的话
sudo apt-get install curl unzip
否则,minet可以直接使用pip作为Python CLI工具和库进行安装
pip install minet
最后,如果您想自行安装独立二进制文件(即使是Windows系统),您可以在每个发布版本中找到它们在此。
升级
要升级独立版本,只需再次运行安装脚本即可
curl -sSL https://raw.githubusercontent.com/medialab/minet/master/scripts/install.sh | bash
要升级Python版本,您可以使用以下pip命令
pip install -U minet
卸载
要卸载独立版本
curl -sSL https://raw.githubusercontent.com/medialab/minet/master/scripts/uninstall.sh | bash
要卸载Python版本
pip uninstall minet
文档
贡献
要为minet做出贡献,您可以查阅此文档。
项目详情
下载文件
下载您平台对应的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
minet-3.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0ee8784a05754a4f245d6364272427246ba945110f23b99ba82217b35fcc61bb |
|
MD5 | ed68b854c0c76ac6923c9088b9f02930 |
|
BLAKE2b-256 | 7ed677b8dc12cc3e2d42c4561450fff457eb33dd8206916fb6e73eabfb1d1772 |
minet-3.1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c2535f1717d280f8b0fc4df1b6c0e9c17cc2ed92f53eac8433af575e69ba7bdf |
|
MD5 | 4d37c612f18cea5e52395833716ed232 |
|
BLAKE2b-256 | 925245514699ca725b59c4c5f41a2a59c5f9c4472d3584b8c65158330182925f |