以下是python中的一段代码,用于抓取网页并打印出图片的网址:
import urllib, re
source = urllib.urlopen('http://www.gardensafari.net/english/squirrels.htm').read()
## every image name is an abbreviation composed by capital letters, so...
m = re.findall('.*?\\.(?i)(jpg|jpeg|png|gif|bmp|tif|tiff)', source)
for link in re.findall('.*?\\.(?i)(jpg|jpeg|png|gif|bmp|tif|tiff)', source):
print link
但是,它只打印扩展名:
jpg
jpg
jpg
gif
jpg
gif
jpg
jpg
jpg
jpg...
我做错了什么?任何帮助,将不胜感激。谢谢!
答案 0 :(得分:4)
由于输入数据是HTML,我会使用 HTML解析器。
以下是涉及BeautifulSoup
parser的工作示例:
import urllib
from bs4 import BeautifulSoup
soup = BeautifulSoup(urllib.urlopen('http://www.gardensafari.net/english/squirrels.htm'))
for img in soup.find_all("img", src=True):
print(img["src"])