Obtenir le contenu de la balise meta propriété avec BeautifulSoup et Python
Je suis en train d'utiliser python et belle soupe pour extraire le contenu des balises ci-dessous:
<meta property="og:title" content="Super Fun Event 1" />
<meta property="og:url" content="http://superfunevents.com/events/super-fun-event-1/" />
Je suis BeautifulSoup pour charger la page est très bien et trouver d'autres trucs (il attrape aussi l'id de l'article à partir de l'id de la balise cachée dans la source), mais je ne sais pas la bonne façon de chercher de l'html et de trouver ces bits, j'ai essayé les variations de trouver et findAll en vain. Le code effectue une itération sur une liste d'url à l'heure actuelle...
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#importing the libraries
from urllib import urlopen
from bs4 import BeautifulSoup
def get_data(page_no):
webpage = urlopen('http://superfunevents.com/?p=' + str(i)).read()
soup = BeautifulSoup(webpage, "lxml")
for tag in soup.find_all("article") :
id = tag.get('id')
print id
# the hard part that doesn't work - I know this example is well off the mark!
title = soup.find("og:title", "content")
print (title.get_text())
url = soup.find("og:url", "content")
print (url.get_text())
# end of problem
for i in range (1,100):
get_data(i)
Si quelqu'un peut m'aider à trier les bits de trouver l'og:title et og:le contenu, ce serait fantastique!!!!
OriginalL'auteur the_t_test_1 | 2016-04-21
Vous devez vous connecter pour publier un commentaire.
Fournir les
meta
nom de balise comme premier argument defind()
. Puis, utilisez le mot-clé arguments pour vérifier les attributs spécifiques:La
if
/else
vérifie ici serait facultatif si vous savez que le titre et l'url de propriétés meta serait toujours présent.yup, c'est exactement ce qui est indiqué dans la réponse. Aussi, vous pouvez renforcer la
content
attribut en utilisantsoup.find("meta", property="og:title", content=True)
. Merci.OriginalL'auteur alecxe
essayez ceci :
OriginalL'auteur Hackaholic