Comment utiliser les sélecteurs CSS pour récupérer des liens spécifiques couché dans un peu de classe à l'aide de BeautifulSoup?

Je suis nouveau sur le Python et je suis en apprentissage pour le raclage, je suis à l'aide de BeautifulSoup collecter des liens (j'.e href 'd'un' tag). Je suis en train de recueillir les liens sous les "ÉVÉNEMENTS à VENIR" de l'onglet du site http://allevents.in/lahore/. Je suis à l'aide de Firebug pour inspecter l'élément et pour obtenir le CSS chemin, mais ce code me renvoie rien. Je suis à la recherche pour le fixer et aussi quelques suggestions sur comment je peux choisir la bonne sélecteurs CSS pour extraire souhaitée des liens à partir de n'importe quel site. J'ai écrit ce morceau de code:

from bs4 import BeautifulSoup

import requests

url = "http://allevents.in/lahore/"

r  = requests.get(url)

data = r.text

soup = BeautifulSoup(data)
for link in soup.select( 'html body div.non-overlay.gray-trans-back div.container div.row div.span8 div#eh-1748056798.events-horizontal div.eh-container.row ul.eh-slider li.h-item div.h-meta div.title a[href]'):
    print link.get('href')
  • Vous n'avez vraiment pas besoin d'être aussi précis pour votre sélecteur, vraiment.
  • Il y a un réel problème, cependant? Le code de travail, pas de travail, qu'avez-vous attendre?
  • Aussi, ne pas utiliser r.text, utilisez r.content ici.
  • Pieters, le code ne fonctionne pas.- Je attendre pour obtenir les liens de tous les événements répertoriés sous l'onglet "Événements à Venir" sur allevents.dans/lahore
  • ne suis pas à l'aide de r.le contenu parce que j'ai l'intention d'extraire du texte avec des liens, mais pour le moment je suis incapable de récupérer les liens souhaités
  • Vous devez laisser le contenu characterset de détection de BeautifulSoup. Vous pouvez toujours utiliser r.text ailleurs si vous avez besoin d'accéder à une valeur Unicode du source HTML, mais BeautifulSoup vous donnera Unicode trop, mais il fera un meilleur travail de déterminer le bon codec.

InformationsquelleAutor Flecha | 2014-07-17