BeautifulSoup HTML 获取 src link

BeautifulSoup HTML getting src link

我正在使用 python 3.5.1 和请求模块制作一个小型网络爬虫,它从特定的 website.I 试验一个页面下载所有漫画。我使用 BeautifulSoup4 解析页面,如下所示:

import webbrowser
import sys
import requests
import re
import bs4

res = requests.get('http://mangapark.me/manga/berserk/s5/c342')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, 'html.parser')

for link in soup.find_all("a", class_ = "img-link"):
    if(link):
        print(link)
    else:
        print('ERROR')

当我做 print(link) 时,有我感兴趣的正确 HTML 部分,但是当我尝试只在 src[ 中获取 link =30=] 使用 link.get('src') 它只打印 None

我尝试使用以下方式获取 link:

img = soup.find("img")["src"]

没关系,但我想要所有的 src link,而不是第一个 link。 我对 beautifulSoup 没有什么经验。请指出这是怎么回事。谢谢。

我感兴趣的网站示例 HTML 部分是:

<a class="img-link" href="#img2">
    <img id="img-1" class="img"
          rel="1" i="1" e="0" z="1" 
          title="Berserk ch.342 page 1" src="http://2.p.mpcdn.net/352582/687224/1.jpg"
          width="960" _width="818" _heighth="1189"/>        
</a>

我会用 CSS selector:

一次性完成
for img in soup.select("a.img-link img[src]"):
    print(img["src"])

在这里,我们获取所有具有 src 属性的 img 元素,这些元素位于具有 img-link class 的 a 元素下。它打印:

http://2.p.mpcdn.net/352582/687224/1.jpg
http://2.p.mpcdn.net/352582/687224/2.jpg
http://2.p.mpcdn.net/352582/687224/3.jpg
http://2.p.mpcdn.net/352582/687224/4.jpg
...
http://2.p.mpcdn.net/352582/687224/20.jpg

如果您仍想使用 find_all(),则必须嵌套它:

for link in soup.find_all("a", class_ = "img-link"):
    for img in link.find_all("a", src=True):  # searching for img with src attribute
        print(img["src"])