Dieser Artikel ist hauptsächlich eine Übersetzung von "Scrapely". Ich habe beim Verschieben der in README geschriebenen Inhalte überprüft, wie es war. Wenn Sie den groben Inhalt in __sekunden __ sehen möchten, sollten Sie im Abschnitt dieses Artikels sowohl "Scrapely" als auch "Summary" lesen.
Eine Bibliothek zum Extrahieren strukturierter Daten aus HTML-Seiten. Erstellen Sie anhand eines Beispiels für eine Webseite und der zu extrahierenden Daten einen Parser für alle ähnlichen Seiten.
Die Daten werden mit einem Algorithmus namens "Instance Based Learning" ^ 1 extrahiert. ^ 2
Installation
Scrapely works in Python 2.7 or 3.3+. It requires numpy and w3lib Python packages.
pip install scrapely
$ python -m scrapely.tool myscraper.json
scrapely> help
ocumented commands (type help <topic>):
========================================
a annotate ls s ta
add_template del_template ls_annotations scrape td
al help ls_templates t tl
scrapely>
Die Verwendung von Scrapely.tool ist wie folgt
python -m scrapely.tool <scraper_file> [command arg ...]
Die bereitgestellten Befehle wie "a" und "ta" sind Alias-Befehle wie "annotate" "add_template".
Befehlsname | Erläuterung |
---|---|
add_template | add_template {url} [--encoding ENCODING] - (alias: ta) |
annotate | annotate {template_id} {data} [-n number] [-f field]- add or test annotation (aliases: a, t) |
del_template | del_template {template_id} - delete template (alias: td) |
ls_annotations | ls_annotations {template} - list annotations (alias: al) |
ls_templates | list templates (aliases: ls, tl) |
scrape | scrape {url} - scrape url (alias: s) |
scrapely> add_template http://pypi.python.org/pypi/w3lib/1.1
[0] http://pypi.python.org/pypi/w3lib/1.1
scrapely> ls_templates
[0] http://pypi.python.org/pypi/w3lib/1.1
scrapely> annotate 0 "w3lib 1.1"
[0] '<h1>w3lib 1.1</h1>'
[1] '<title>Python Package Index : w3lib 1.1</title>'
Ich habe zwei Elemente mit dem obigen Befehl
scrapely> annotate 0 "w3lib 1.1" -n 0
[0] '<h1>w3lib 1.1</h1>'
scrapely> annotate 0 "w3lib 1.1" -n 0 -f name
[new](name) '<h1>w3lib 1.1</h1>'
scrapely> annotate 0 "Scrapy project" -n 0 -f author
[new] '<span>Scrapy project</span>'
scrapely> ls_annotations 0
[0-0](name) '<h1>w3lib 1.1</h1>'
[0-1](author) '<span>Scrapy project</span>'
scrapely> scrape http://pypi.python.org/pypi/Django/1.3
[{'author': ['Django Software Foundation'], 'name': ['Django 1.3']}]
Scrapy
ist ein Anwendungsframework zum Erstellen von Webcrawlern.
Scrapely
ist eine Bibliothek zum Extrahieren strukturierter Daten aus HTML-Seiten.
Scrapely
ist eher wie BeautifulSoup oder lxml als Scrapy
. ^ 3
Beim normalen Site-Scraping schreiben Sie eine kleine "Selektor-Spezifikation". In Scrapely war es möglich, ähnliche Seiten durch "Angeben der Beispiel-URL" und "Angeben der Beispieldaten" zu kratzen. Es gab einen Dienst (Open Source), der es ermöglichte, eine Site auch von Personen ohne Kenntnis von Programmen, die diese Eigenschaft verwenden, zu kratzen. [^ 4] Es war eine Zusammenfassung (Eindruck), die ich sehe.
Es war der heutige Freitag I / O. Bei Wamuu Co., Ltd. ist jeder Freitag ein Tag, an dem Sie an Ihren Interessen arbeiten und die Ergebnisse auf irgendeine Weise ausgeben können. Vielen Dank.
Recommended Posts