libextract

Extract data from websites using basic statistical magic

  • 所有者: datalib/libextract
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Libextract: extract data from websites

.. image:: https://travis-ci.org/datalib/libextract.svg?branch=master
:target: https://travis-ci.org/datalib/libextract

::

    ___ __              __                  __
   / (_) /_  ___  _  __/ /__________ ______/ /_
  / / / __ \/ _ \, /_/ __/ ___/ __ `/ ___/ __/
 / / / /_/ /  __/>  </ /_/ /  / /_/ / /__/ /_
/_/_/_.___/\___/_/, _, \__/_/   \__,_/\___/\__/

Libextract is a statistics-enabled <https://github.com/datalib/StatsCounter>_
data extraction library that works on HTML and XML documents and written in
Python. Originating from eatiht <http://rodricios.github.io/eatiht/>, the
extraction algorithm works by making one simple assumption: data appear as
collections of repetitive elements
. You can read about the reasoning
here <http://rodricios.github.io/posts/solving_the_data_extraction_problem.html>
.

Overview

libextract.api.extract(document, encoding='utf-8', count=5)
Given an html document, and optionally the encoding, return
a list of nodes likely containing data (5 by default).

Installation

::

pip install libextract

Usage

Due to our simple definition of "data", we open up a single
interfaceable method. Post-processing is up to you.

.. code-block:: python

from requests import get
from libextract.api import extract

r = get('http://en.wikipedia.org/wiki/Information_extraction')
textnodes = list(extract(r.content))

Using lxml's built-in methods for post-processing:

.. code-block:: python

>> print(textnodes[0].text_content())
Information extraction (IE) is the task of automatically extracting structured information...

The extraction algo is agnostic to article text as it is with
tabular data:

.. code-block:: python

height_data = get("http://en.wikipedia.org/wiki/Human_height")
tabs = list(extract(height_data.content))

.. code-block:: python

>> [elem.text_content() for elem in tabs[0].iter('th')]
['Country/Region',
 'Average male height',
 'Average female height',
 ...]

Dependencies


::

    lxml
    statscounter

Disclaimer
~~~~~~~~~~

This project is still in its infancy; and advice and suggestions as
to what this library could and should be would be greatly appreciated

:)

概覽

名稱與所有者datalib/libextract
主編程語言Python
編程語言Python (語言數: 2)
平台
許可證MIT License
發布數0
創建於2015-04-06 08:27:32
推送於2020-10-02 11:31:24
最后一次提交2015-05-23 01:52:06
星數501
關注者數24
派生數45
提交數317
已啟用問題?
問題數21
打開的問題數2
拉請求數17
打開的拉請求數0
關閉的拉請求數2
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?
去到頂部