【发布时间】:2020-04-21 15:22:18
【问题描述】:
我想下载 img 标签中的所有图片,这些图片嵌套在这样的地方:
<div id="onlive">
<div>
<section class="class1">
<ul class=="class2">
<li>
<div class="class3">
<div class="class4 class4-001" video_id="001">
<div class="class5">
<img src="https://...">
</div>
</div>
</div>
</li>
<li>
<div class="class3">
<div class="class4 class4-002" video_id="002">
<div class="class5">
<img src="https://...">
</div>
</div>
</div>
</li>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
</section>
</div>
</div>
在本例中,应该有 5 张图片要下载并保存在“images”目录中。另外,我想使用“video-id”作为每张图片的名称。
这是我的代码。它没有错误但没有得到任何图像:
import requests
from bs4 import BeautifulSoup
import os
import logging
import urllib.request
url = "https://www...com/onlive"
page = requests.get(url)
soup = BeautifulSoup(page.text, "html.parser")
links = []
for img in soup.find_all('img'):
link = img.get('src')
links.append(link)
for i in range(len(links)):
filename = 'images/img{}.jpg'.format(i)
urllib.request.urlretrieve(links[i], filename)
【问题讨论】:
-
有没有试过打印
links看是不是空的? -
@AndreaOggioni 是的,我已经尝试过了,但什么也没得到。
标签: python html web-scraping beautifulsoup web-crawler