Ich prüfe die schönen Suppe Web Verschrottung Werkzeuge. Der folgende Code verbindet sich einfach mit einem Subreddit und versucht, den Link aller Bilder von den Benutzerposts auf der ersten Seite zu drucken.Python 2.7 - Schöne Suppe Web Scrapping find_all Befehl funktioniert nicht
import requests
from bs4 import BeautifulSoup
url = "https://www.reddit.com/r/pics"
r = requests.get(url)
if r.status_code != 200:
print "failed to connect"
exit()
sourcecode = r.text
soup = BeautifulSoup(sourcecode, "html.parser")
print soup
for tag in soup.find_all('a', {'class': 'title may-blank outbound srTagged'}):
print "entered into for loop"
if tag['href'].startswith('http'):
print tag['href']
Dieser Code bewirkt, dass das richtige soup
Objekt gedruckt werden, und ich kann alles sehen. Der Befehl soup.find_all('a', {'class':'title may-blank outbound srTagged'})
gibt jedoch eine leere Liste zurück. Es gibt keinen Fehler, nur eine leere Liste, was bedeutet, dass die for-Schleife am Ende nicht einmal ausgeführt wird.
Ich frage mich, was hier falsch ist. Ich habe die Zeichenfolgen kopiert und eingefügt, und ich kann die Links sehen, die ich im Internetcode 1 drucken möchte.
Ich beziehe mich auf die Linie:
<a class = "title may-blank outbound srTagged" ...
Was ich kopiert und an meinen Code beklebt Rechtschreibfehler zu vermeiden und immer noch nichts passiert ... irgendwelche Ideen, warum der Befehl eine leere Liste zurückgibt?
Ich habe die for-Schleife in for tag in soup.find_all('a', {'class': 'thumbnail may-blank outbound'}):
geändert, das ist ein anderer Klassenname und es verhält sich normal.
Ist die Website gerade voll, um Beautiful Soup davon abzuhalten, auf diesen Teil des Quellcodes zuzugreifen?
Möchten Sie den Verweis auf den Reddit-Thread oder auf den externen Speicherort des Bildes verweisen? – wpercy
Ich ging für den Link zum externen Speicherort des Bildes (i.dailymail.co.uk .... etc). Die Idee wäre gewesen, eine Liste aller Bildverknüpfungen auf einer Reddit-Seite zu erstellen und sie dann durch eine separate Funktion zu leiten, die einfach alle Bilder aus der Liste der Links, die aus dem Code über – tdeoliveira05