J'essaie d'explorer un site de magasinage pour les prix, en utilisant scrapy. Considérez ce code ci-dessous, exécuté de shell scrapy pour le site:Utilisation de Scrapy pour ramasser des données de magasin
response.xpath('//*[@id="content"]/div[2]/div/div/div[5]/div[1]').extract()
Le résultat est le suivant:
[u'<div class="subcategory-title"><span class="placeholder"></span></div>']
Mais sur le code source de la page (voir à l'aide des outils de développement de chrome), je peux voir ce pour cette ligne:
<div class="subcategory-title">Organic Vegetables</div>
Premièrement, comment se fait-il que les «légumes biologiques» soient cachés par l'envergure? Deuxièmement, comment puis-je obtenir le texte au lieu de l'élément span vide?
Merci.
Probablement vous avez oublié d'ajouter '/ texte()' à votre XPath – AndMar
Comment puis-je obtenir la même chose en utilisant BeautifulSoup et demande? C'est au lieu d'utiliser Scrapy ou Splash? – osbon123
Essayez simplement de changer votre xpath en // // * [@ id = "content"]/div [2]/div/div/div [5]/div [1]/text() ' – AndMar