Seite 1 von 1

urllib2&BeautifulSoup, erreichen die seite nicht?

Verfasst: Samstag 19. September 2009, 00:51
von setech
Nabend,
ich versuche gerade mit urllib2 und BeautifulSoup inhalt einer html seite auszulesen. Wenn ich die url normal über den Browser aufrufe und mir dort den Quelltext anschaue habe ich diesen auch. Will ich dies jedoch per python automatisieren klappt es nicht
es geht zb um folgende url:
http://profiles.us.playstation.com//pla ... phies_data

wenn ich dies nun per python abfrage wird allerdings nur diese seite "angezeigt"
http://www.us.playstation.com/go/trophies/index.html

mein code sieht momentan so aus:

Code: Alles auswählen

from BeautifulSoup import BeautifulSoup
import re
import urllib2

baseurl = 'http://profiles.us.playstation.com/'
url_adds = 'playstation/psn/profile/skizzer1337/get_ordered_trophies_data'
fullurl = baseurl + url_adds
data = urllib2.urlopen(fullurl)
#testweise
html = data.read()
print html

soup = BeautifulSoup(html)
games= soup.find('Killzone 2')
print games
Wobei ich nun inzwischen den teil ab soup = BeautifulSoup ... auskommentiert habe damit ich sehen kann welche seite dort geladen wird.

Hätte jemand eine idee wie ich die seite erreiche? :)

Verfasst: Samstag 19. September 2009, 10:57
von sma
Wen ich ein "curl" auf die URL mache, kommt ein "HTTP/1.1 403 Forbidden" zurück - zusammen mit dem Inhalt der von dir genannten anderen Seite. Lass dir doch mal "data.code" und "data.msg" ausgeben.

Stefan

Verfasst: Samstag 19. September 2009, 16:25
von setech
okay, die seite krieg ich nun durch nen anderen weg, aber nun wüsste ich noch gern wie ich den inhalt nun abfragen kann
der source sieht zb so aus

<div class"game">
<div class"gameTitle">
.
.
.
</div>
und das ganze kommt nun häufer vor, für jedes spiel einmal...nun brauche ich alle spiele in einer variable ich stell mir das zb so vor:
ich will spiel nr 15 den titel haben:
game[15][0]
^
ist spiel 15
^
element 0 im spiel 15

durch die BeautifulSoup docu werd ich ehrlichgesagt nicht so schlau

Verfasst: Samstag 19. September 2009, 16:40
von Hyperion
Dann suche doch mal hier im Forum nach "HTML", "crawler", "lxml", "BeautifullSoap" o.ä. Da gibts so einiges dazu. Bei vielen Beiträgen findet Du Snippets, die Du Dir mal angucken könntest. Dann wird Dir so etwas sicherlich schnell klar :-)

Ich habe bisher für meine Crawler immer lxml eingestzt. Mit den CSS-Selektoren oder auch XPath-Ausdrücken kommt man schnell an die gewünschten Äste. Zudem finde ich die Doku zu lsml recht gut. Zu BS kann ich nix sagen.