跳转到主要内容

A webmining CLI tool & library for python.

项目描述

Build Status DOI download number

Minet

minet 是一个适用于python (≥ 3.7) 的网络挖掘命令行工具和库,可以用于从各种网络来源(如原始网页、Facebook、YouTube、Twitter、Media Cloud等)收集和提取数据。

它通过让您在命令行界面执行各种任务来以非常简单的方法处理各种网络挖掘问题。无需数据库:原始CSV文件应足以完成大部分工作。

此外,minet 还将其高级程序接口作为Python库公开,以便您可以根据自己的用例更好地使用其工具。

minetmédialab SciencesPo 的研究工程师开发,是针对社会科学目标超过十年的网络挖掘实践的巩固。

因此,它被设计成

  1. 低技术,因为它需要的资源(如内存、CPU或硬盘空间)最少,应该能够在任何低成本PC上工作。
  2. 容错性强,因为它能够在网络状况不佳时恢复,并在适当的时候重试HTTP调用。更重要的是,大多数minet命令在终止后可以继续执行,并且设计为长时间运行(想想几天或几个月)而不会泄漏内存。
  3. Unix兼容,因为它可以轻松管道化,并且知道如何处理常规流。

快捷方式命令行文档Python库文档

fetch

如何引用?

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
    • ...并提取超链接
    • ...并提取文本内容和其他元数据(标题等)
    • ...并抓取结构化数据(使用声明性语言定义您的启发式规则)
  • 爬取(使用声明性语言定义浏览行为和要收集的内容)
  • 挖掘或搜索
  • 抓取(无需特殊访问权限,通常只需要用户账户)
  • 从您的浏览器中获取并导出Cookies
  • 导出Hyphe数据

已记录的使用案例

功能(从技术角度)

  • 从网络中多线程、内存高效地获取。
  • 多线程、可扩展的爬取。
  • 从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及类似系统上,您可能需要在运行安装脚本之前安装curlunzip,如果您还没有安装它们的话

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做出贡献,您可以查阅文档。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

minet-3.1.0.tar.gz (227.5 kB 查看哈希值)

上传时间 源代码

构建分发

minet-3.1.0-py3-none-any.whl (300.2 kB 查看哈希值)

上传时间 Python 3

由以下提供支持