【发布时间】:2020-08-02 05:23:31
【问题描述】:
我正在尝试使用 BeautifulSoup 从网站下载图像。
这是来自相关网站的 HTML 的 sn-p:
<div class="c-image _verticalMode">
<div class="c-image__inner">
<img src="https://images.example.com/qwe098.jpg/dims/optimize" class="c-image__image" width="100%">
</div>
</div>
这是我到目前为止写了多少:
import requests
from bs4 import BeautifulSoup as bs
url=r'https://www.example.com/d?tNo=123&aNo=17'
soup=bs(requests.get(url).content,'html.parser')
pics=soup.find(class_='c-image')
print(pics)
打印出来:
<div class="c-image _verticalMode">
<!--
<div class="c-image__inner">
<img src="../../img/c/dummy.jpg" class="c-image__image" width="100%">
</div>
-->
<!--
<a href="#" class="c-img__prev"><i class="i-arrow-left-black"></i></a>
<a href="#" class="c-img__next"><i class="i-arrow-right-black"></i></a>
-->
</div>
img src 被截断(由于 BeautifulSoup?),但它看起来与第一个 HTML sn-p 中给出的位置不同(尽管它位于同一位置)。
我似乎无法获得链接。我尝试使用soup.find(class_='c-image__image'),但返回的是一个 NoneType 对象。
如何获得正确的图片链接以便下载?
【问题讨论】:
-
我无法打开你的链接,但是通过查看你的代码,那些图像标签在 HTML cmets 中,所以 beautifulsoup 将其读取为文本内容,而不是标签。他们在
<!-- ... --> -
您的网址
https://www.example.com/d?tNo=123&aNo=17为我提供了404 - Not Found。
标签: python html image beautifulsoup