问题

我正在尝试使用imgur.com检索图像的链接.似乎图片(如果.jpg或.png)通常存储在他们的网站上(div class =“image post-image”),如:

 <div class='image post-image'>
    <img alt="" src="//i.imgur.com/QSGvOm3.jpg" original-title="" style="max-width: 100%; min-height: 666px;">
</div>
 

所以这是我到目前为止的代码:

 from urllib.request import urlopen
from bs4 import BeautifulSoup

url = 'https://imgur.com/gallery/0PTPt'
html = urlopen(url)
soup = BeautifulSoup(html, 'lxml')
info = soup.find_all('div', {'class':'post-image'})

file = open('imgur-html.txt', 'w')
file.write(str(info))
file.close()
 

这不是能够获取这些标签中的所有内容,而是我的输出:

 <div class="post-image" style="min-height: 666px">
</div> 
 

我需要做什么才能进一步访问这个,以便我可以获得图像链接?或者这只是我只需要使用API的东西?谢谢你的帮助.

  最佳答案

您可以从 rel 中提取完整链接

 import requests
from bs4 import BeautifulSoup as bs

r = requests.get('https://imgur.com/gallery/0PTPt')
soup = bs(r.content, 'lxml')
print(soup.select_one('[rel=image_src]')['href'])
 

  相同标签的其他问题

pythonweb-scrapingbeautifulsoup