[PYTHON] Bibliothèque de scraping Web utilisant des algorithmes Scrapely

introduction

Cet article est principalement une traduction de «Scrapely». J'ai vérifié ce que c'était en déplaçant le contenu écrit dans README. Si vous voulez voir le contenu approximatif en __secondes __, vous devriez lire à la fois Scrapely et Summary dans la section de cet article.

Qu'est-ce que Scrapely

Une bibliothèque pour extraire des données structurées à partir de pages HTML. Étant donné un exemple de page Web et les données à extraire, créez un analyseur pour toutes les pages similaires.

«Les données sont extraites à l'aide de l'algorithme appelé Instance Based Learning» ^ 1. ^ 2

Installation

Scrapely works in Python 2.7 or 3.3+. It requires numpy and w3lib Python packages.

pip install scrapely

Utiliser à partir de la ligne de commande

$ 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> 

L'utilisation de scrapely.tool est la suivante

python -m scrapely.tool <scraper_file> [command arg ...]

<fichier_scraper> est le nom du fichier qui stocke les informations du modèle.

Les commandes fournies telles que ʻaetta sont des commandes d'alias telles que ʻannotate ʻadd_template`, respectivement.

Nom de la commande La description
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)

Créer un grattoir et ajouter un modèle

scrapely> add_template http://pypi.python.org/pypi/w3lib/1.1
[0] http://pypi.python.org/pypi/w3lib/1.1

Afficher une liste de modèles disponibles à partir de scraper

scrapely> ls_templates
[0] http://pypi.python.org/pypi/w3lib/1.1

Test des critères de sélection pour ajouter une annotation

scrapely> annotate 0 "w3lib 1.1"
[0] '<h1>w3lib 1.1</h1>'
[1] '<title>Python Package Index : w3lib 1.1</title>'

J'ai deux éléments avec la commande ci-dessus

Spécifier la position à acquérir

scrapely> annotate 0 "w3lib 1.1" -n 0
[0] '<h1>w3lib 1.1</h1>'

Ajout du nom du champ d'annotation au modèle

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>'

Afficher la liste d'annotations dans le modèle

scrapely> ls_annotations 0
[0-0](name) '<h1>w3lib 1.1</h1>'
[0-1](author) '<span>Scrapy project</span>'

Gratter des pages similaires à l'aide du modèle ajouté

scrapely> scrape http://pypi.python.org/pypi/Django/1.3
[{'author': ['Django Software Foundation'], 'name': ['Django 1.3']}]

Bien que Scrapely et Scrapy aient des noms similaires. ..

Scrapy est un framework d'application pour créer un robot d'exploration Web, Scrapely est une bibliothèque pour extraire des données structurées à partir de pages HTML. «Scrapely» ressemble plus à BeautifulSoup ou lxml qu'à «Scrapy». ^ 3

Résumé

Dans le scraping de site normal, vous écrivez une petite spécification de sélecteur, Dans Scrapely, il était possible de gratter des pages similaires en "spécifiant l'URL d'exemple" et "en spécifiant les données d'exemple". Il y avait un service (open source) qui permettait de gratter des sites même par des personnes sans connaissance des programmes utilisant cette caractéristique. [^ 4] C'était un résumé (impression) que je vois.

finalement

C'était le vendredi I / O d'aujourd'hui. Chez Wamuu Co., Ltd., chaque vendredi est une journée pour travailler sur ce qui vous intéresse et produire les résultats d'une manière ou d'une autre. Merci beaucoup.

Recommended Posts

Bibliothèque de scraping Web utilisant des algorithmes Scrapely
raclage Web
grattage Web (prototype)
Premiers pas avec le Web Scraping
Web scraping avec python + JupyterLab
Enregistrez des images avec le web scraping
Technologie de grattage WEB et préoccupations
Compromis dans le scraping et l'exploration Web
Grattage Web facile avec Scrapy
Collection d'images avec scraping Web
Web scraping avec Selenium (Python)
Web scraping à l'aide d'AWS lambda
Web scraping débutant avec python
Grattage de bande sur une seule ligne avec du tsé
Grattage WEB avec BeautifulSoup4 (page en couches)
Gratter le classement Web d'Alexa avec pyQuery
Web scraping avec Python Première étape
J'ai essayé webScraping avec python.
GAN: DCGAN Part1 - Scraping d'images Web
Web scraping pour les débutants en Python (1)
Grattage Web pour les notifications d'avertissement météo.
Web scraping pour les débutants en Python (4) -1
10 questions à vérifier avant le web scraping