使用BeautifulSoup基于属性提取图像src

发布于 2021-01-29 17:14:37

我正在使用BeautifulSoup从IMDb获取HTML页面,我想从页面中提取海报图像。我已经基于其中一个属性获取了图像,但是我不知道如何提取其中的数据。

这是我的代码:

url = 'http://www.imdb.com/title/tt%s/' % (id)
soup = BeautifulSoup(urllib2.urlopen(url).read())
print("before FOR")
for src in soup.find(itemprop="image"): 
    print("inside FOR")
    print(link.get('src'))
关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您快要完成了-
    仅有几个错误。soup.find()获取第一个匹配的元素,而不是列表,因此您无需对其进行迭代。获得元素后,就可以src使用字典访问来获取其属性(例如)。这是改版的版本:

    film_id = '0423409'
    url = 'http://www.imdb.com/title/tt%s/' % (film_id)
    soup = BeautifulSoup(urllib2.urlopen(url).read())
    link = soup.find(itemprop="image")
    print(link["src"])
    # output:
    http://ia.media-imdb.com/images/M/MV5BMTg2ODMwNTY3NV5BMl5BanBnXkFtZTcwMzczNjEzMQ@@._V1_SY317_CR0,0,214,317_.jpg
    

    我已更改idfilm_id,因为id()它是内置函数,因此屏蔽它们是不好的做法。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看