Holen Sie sich meta-tag content-Eigenschaft mit Python und BeautifulSoup
Ich versuche die Verwendung von python und schöne Suppe, den Inhalt zu extrahieren-Teil des tags unten:
<meta property="og:title" content="Super Fun Event 1" />
<meta property="og:url" content="http://superfunevents.com/events/super-fun-event-1/" />
Ich bin immer BeautifulSoup zu laden Sie die Seite einfach gut finden und andere Sachen (dieser schnappt sich auch die Artikel-id aus dem id-tag versteckt in der Quelle), aber ich weiß nicht, den richtigen Weg zu suchen der html-und finden diese bits, ich habe versucht, Variationen des find und findAll-ohne Erfolg. Der code iteriert über eine Liste von urls zu präsentieren...
#!/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)
Wer kann mir helfen zu Sortieren, etwas zu finden, das og:title und og:content, das wäre fantastisch!
InformationsquelleAutor the_t_test_1 | 2016-04-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bieten die
meta
tag-name als erstes argumentfind()
. Dann verwenden Sie das Schlüsselwort Argumente zu prüfen, die spezifische Attribute:Den
if
/else
prüft hier wäre optional, wenn Sie wissen, dass der Titel und die url meta-Eigenschaften würde immer gegenwärtig sein.yup, das ist genau das, was gezeigt wird, in die Antwort. Auch Sie können zur Stärkung der
content
Attribut Präsenz, indemsoup.find("meta", property="og:title", content=True)
. Danke.InformationsquelleAutor alecxe
versuchen Sie dies :
InformationsquelleAutor Hackaholic