Maison  >  Article  >  développement back-end  >  Tutoriel détaillé sur la façon d'utiliser Scrapy Shell pour vérifier les résultats de la sélection XPath

Tutoriel détaillé sur la façon d'utiliser Scrapy Shell pour vérifier les résultats de la sélection XPath

巴扎黑
巴扎黑original
2017-07-19 14:19:342099parcourir

1. scrapy shell

est un bon outil interactif du package scrapy. Actuellement, je l'utilise principalement pour vérifier les résultats de la sélection XPath. Après avoir installé Scrapy, vous pouvez utiliser le shell Scrapy directement sur cmd.

Scrapy Shell

Le terminal Scrapy est un terminal interactif Nous pouvons essayer de déboguer le code sans démarrer le spider. Il peut également être utilisé pour tester des expressions XPath ou CSS et voir comment elles fonctionnent. moyen de faciliter l’extraction des données des pages Web que nous explorons.

Si IPython est installé, le terminal Scrapy utilisera IPython (au lieu du terminal Python standard). Le terminal IPython est plus puissant que les autres, offrant une saisie semi-automatique intelligente, une sortie en surbrillance et d'autres fonctionnalités. (Il est recommandé d'installer IPython)

Démarrer Scrapy Shell

Entrez le répertoire racine du projet et exécutez la commande suivante pour démarrer le shell :

scrapy shell "http ://www.itcast.cn/channel/teacher.shtml"

Scrapy Shell créera automatiquement des objets pratiques basés sur la page téléchargée, tels que l'objet de réponse et le sélecteur. objet (pour le contenu HTML et XML).

Lorsque le shell est chargé, vous obtiendrez une variable de réponse locale contenant les données de réponse. La saisie de Response.body affichera le corps de la réponse et affichera Response.headers pour voir l'en-tête de la réponse.

Lorsque vous entrez Response.selector, vous obtiendrez un objet de classe Selector initialisé par réponse. À ce stade, vous pouvez interroger la réponse en utilisant Response.selector.xpath() ou Response.selector.css(. ).

Scrapy fournit également quelques raccourcis, comme Response.xpath() ou Response.css() qui peuvent également prendre effet (comme dans le cas précédent).

Sélecteurs

Sélecteurs Scrapy intégrés XPath et mécanisme d'expression du sélecteur CSS

Sélecteur a quatre méthodes de base, la plus couramment utilisée est xpath :

xpath () : Passer l'expression xpath et renvoyer la liste de sélection de tous les nœuds correspondant à l'expression

extract() : Sérialiser le nœud dans une chaîne Unicode et renvoyer la liste

css() : Transmettez une expression CSS et renvoyez la liste de sélection de tous les nœuds correspondant à l'expression. La syntaxe est la même que BeautifulSoup4

re() : Extrayez les données en fonction de la liste de chaînes Unicode transmise. liste


2. ipython

sur le site officiel Il est recommandé pour utiliser ipython pour exécuter Scrapy Shell, j'ai donc essayé de l'installer. Parce que mon environnement python a déjà été configuré via conda (voir l'article précédent), il est très pratique d'installer ipython via conda

conda install -c conda-forge ipython

Ensuite, l'intégralité du package ipython sera téléchargée parce que. tout est compilé, il n'y a pas de processus d'échec de compilation ennuyeux.

3. Exécutez ipython et exécutez Scrapy Shell sur ipython

dans la boîte d'exécution cmd actuelle, car le système L'environnement a été configuré et vous pouvez exécuter le package python directement, donc en tapant directement ipython dans la zone d'exécution cmd, vous entrerez dans la zone d'exécution ipython, qui est similaire au cmd standard du système, mais a des fonctions plus riches, des couleurs et une mise en page plus riches. ça peut être bien aussi.

Mais quand je tape la commande Scrapy Shell directement dessus, il n'arrête pas de dire qu'une telle commande n'existe pas et elle échoue. Coincé ici.

Plus tard, en lisant attentivement les instructions du shell Scrapy

Si IPython est installé, le shell Scrapy l'utilisera (au lieu de la console Python standard

signifie que Scrapy Shell trouvera la boîte d'exécution ipython par lui-même.

Entrez donc directement scrapy shell dans la zone d'exécution standard de cmd, et le résultat renvoyé est directement appelé dans la zone d'exécution d'ipython.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn