2017-01-24 4 views
1

Ich verwende bs4 in einem Attampt, um Weblinks zu Bildern von the metropolitan abzurufen.bs4 gibt Variablennamen zurück, aber keinen Inhalt

url = 'http://www.metmuseum.org/art/collection#!?material=Canvas&showOnly=onDisplay&offset=1780&pageSize=0&sortBy=Relevance&sortOrder=asc&perPage=20' 
soup =BeautifulSoup(urlopen(url).read().decode(),'html5lib').encode() 

Auf der ursprünglichen Webseite, die Daten i wie folgt aussehen will, die den Link enthält, die ich will.

<figure class="card__standard-image"> 
     <a href="/art/collection/search/459087?sortBy=Relevance&amp;amp;what=Oil+paintings%7cPaintings&amp;amp;od=on&amp;amp;ft=*&amp;amp;offset=0&amp;amp;rpp=20&amp;amp;pos=1"> 

Die von BS4 zurückgegebenen Daten sieht wie folgt aus:

<figure class="card__standard-image">\n  <a href="{{ card.url }}"> 

Es scheint mir, dass die Verbindung durch card.url ersetzt wird, aber ich weiß nicht, wie die Werte in speichernden acces Karte.

Ich habe verschiedene Parser versucht, aber ohne Erfolg.

Antwort

1

die Daten, die Sie brauchen, ist durch JavaScript geholt, ist die gelesenen Daten in dieser URL:

http://www.metmuseum.org/api/collection/collectionlisting?artist=&department=&era=&geolocation=&material=Canvas&offset=0&pageSize=0&perPage=20&showOnly=onDisplay&sortBy=Relevance&sortOrder=asc 

enter image description here

+0

Dank, das ist mein Problem für diese Instanz gelöst. Wie hast du das nächste Mal zu dieser URL gefunden? –

Verwandte Themen