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"])
我正在使用 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"])