Parsing JSON mit Beautiful Soup
Verfasst: Freitag 9. Oktober 2015, 12:03
Hallo zusammen,
Ich versuche aus einem JSON mittels BeautifulSoup bestimmte Inhalte wie z.B. den Deeplink zu crawlen. Leider klappt das nicht wie gewünscht:
Das ist mein bisherige Logik:
Resultat ist:
Dies ist der JSON Snippet, aus dem ich versuche den Deeplink zu crawlen:
Kann mir jemand sagen, was ich falsch mache? Vielen Dank für euer Feedback:)
Ich versuche aus einem JSON mittels BeautifulSoup bestimmte Inhalte wie z.B. den Deeplink zu crawlen. Leider klappt das nicht wie gewünscht:
Das ist mein bisherige Logik:
Code: Alles auswählen
import requests
from bs4 import BeautifulSoup
import json
from urllib.request import urlopen
import urllib.request
response = urlopen("http://www.getyourguide.de/s/search.json?q=London&page=8")
content = response.read()
soup = BeautifulSoup(content,'html.parser',from_encoding='utf-8')
newDictionary = json.loads(str(soup))['activities']
deeplink = soup.find_all('a',href=True)
print(Deeplink)
Code: Alles auswählen
[]
Dies ist der JSON Snippet, aus dem ich versuche den Deeplink zu crawlen:
Code: Alles auswählen
article data-href="http://www.getyourguide.de/london-l57/london-private-tour-stonehenge-salisbury-kathedrale-t43089/" id="t43089" class="activity-card activity-card-horizontal
">
<div class="activity-card-content">
<a class="activity-card-link" href="http://www.getyourguide.de/london-l57/london-private-tour-stonehenge-salisbury-kathedrale-t43089/">
<div class="activity-card-image-container">
<img src="http://img.getyourguide.com/img/tour_img-252768-70.jpg" data-role="cover" alt="" />
</div>
<div class="activity-card-details">
<header class="activity-card-header">
<h3 class="activity-card-title">
London: Private Tour Stonehenge & Salisbury-Kathedrale
</h3>
</header>
<p class="activity-small-description">Entdecken Sie während dieser 6-stündigen Tour nach Stonehenge eines der Wunder der prähistorischen Welt und bewundern Sie diesen mysteriösen…</p>
<div class="activity-info activity-duration">
<span class="activity-info-label activity-duration-label">
Dauer:
</span>
<span class="activity-info-value activity-duration-value">
6 Stunden
</span>
</div>
</div>
<div class="activity-card-actions">
<div class="activity-card-price-tag has-cta-A">
<span class="from">Ab</span>
<span class="price">
€ 154
</span>
</div>
<a href="http://www.getyourguide.de/london-l57/london-private-tour-stonehenge-salisbury-kathedrale-t43089/#booking-assistant" class="btn btn-small btn-booking prominent-cta prominent-cta-A">
Kann mir jemand sagen, was ich falsch mache? Vielen Dank für euer Feedback:)