Zunächst einmal sollte es, dass ich PyCharm 2016.02.03, bin mit beachtet werden, und es ist Python 2.7Grabbing Nested Divs BeautifulSoup4 mit (Python 2)
Was ist mein Ziel: Ich versuche, die „Buy zu greifen Preis ", befindet sich unter der Rubrik" Info ". Es ist die erste Reihe nach unten. Hier ist der Link zu der Seite, von der ich versuche den Preis zu kaufen. https://rsbuddy.com/exchange?id=1079&
Wenn Sie den Quellcode von inspizieren Element oder Ansichtsseite Quelle, werden Sie diesen Kaufpreis sehen, ist eine Zeichenfolge in diesem HTML Code-Zeile befindet:
<div id="buy-price" class="col-md-7">41,060 gp</div>
Die '41, 060 gp‘ist, was Ich versuche zu greifen, um das klar zu machen.
Aber wenn Sie schauen, wo dieses div geschachtelt ist, ist es zwischen TONS von verschiedenen divs davor. Divs mit Klassen, IDs und beiden. Wenn ich Tonnen sage, meine ich wahrscheinlich ungefähr 15+.
Jetzt, da Sie ein klares Verständnis davon haben, was ich greifen muss, zeige ich Ihnen jetzt meinen Code.
import requests
from bs4 import BeautifulSoup
def items(max_pages):
page = 1
while page <= max_pages:
url = "https://rsbuddy.com/exchange?id=1079&"
source_code = requests.get(url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text, "html.parser")
for buy_price in soup.findAll('div', {'id': 'buy-price'}):
item = buy_price.string
print(item)
page += 1
items(1)
Wenn ich diesen Code ausführen, passiert nichts. Ich bekomme keine Fehler, nichts. Nur ein leerer Bildschirm mit "Prozess fertig mit Exit-Code 0"
Ich bin mir nicht sicher, was genau das Problem verursacht. Vielleicht kann ich das Div falsch packen (Es hat für mich in einer anderen Situation funktioniert), vielleicht mache ich einen dummen kleinen Fehler, den ich nicht wahrnehme. Ich verstehe es einfach nicht. Ich habe Stunden damit verbracht, es herauszufinden, online zu recherchieren ... Hoffentlich kann jemand helfen.
Beachten Sie, dass ich den HTML-Code nicht angegeben habe, weil es einfach viel zu viel ist. Bitte schau dir einfach die Webseite an und sieh dir den Quellcode an. Bewegen Sie den Mauszeiger über "Preis kaufen" unter der Info-Sektion und klicken Sie mit der rechten Maustaste auf den Quellcode.
Die URL scheint tot zu sein – MYGz
Können Sie bitte angeben, was Sie unter „tot“ verstehen? – CadenDEV
Der von Ihnen angegebene Link gibt keinen HTML-Code zurück. Stattdessen löst es nur den JavaScript-Code aus, der eine API-Anfrage erstellt und der Browser wird gefüllt, wenn die API-Antwort empfangen wird. Jetzt ist Ihre Aufgabe, das JavaScript zu graben und die api URL zu finden, wo die Anfrage gemacht wird. – MYGz