bs4返回变量名但不返回内容

时间:2017-01-24 09:49:53

标签: python beautifulsoup web-crawler bs4

我正在使用bs4来检索来自the metropolitan的图片的网络链接。

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()

在原始网页上,我想要的数据看起来像这样,它包含我想要的链接。

<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">

bs4返回的数据如下所示:

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

在我看来,链接被card.url取代,但我不知道如何访问存储在卡中的值。

我尝试了不同的解析器,但无济于事。

1 个答案:

答案 0 :(得分:1)

您需要的数据由JavaScript提取,读取的数据位于以下网址中:

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