我正在尝试编写一个从网页下载图像的python脚本。在网页上(我使用的是NASA的每日图片页面),每天都会发布一张新图片,文件名不同。
所以我的解决方案是使用 HTMLParser 解析 html,查找“jpg”,并将图像的路径和文件名写入 HTML 解析器对象的属性(命名为“输出”,参见下面的代码)。
我是 python 和 OOP 的新手(这是我第一个真正的 python 脚本),所以我不确定这是否是通常的做法。欢迎任何建议和指点。
这是我的代码:
# Grab image url
response = urllib2.urlopen('http://apod.nasa.gov/apod/astropix.html')
html = response.read()
class MyHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
# Only parse the 'anchor' tag.
if tag == "a":
# Check the list of defined attributes.
for name, value in attrs:
# If href is defined, print it.
if name == "href":
if value[len(value)-3:len(value)]=="jpg":
#print value
self.output=value #return the path+file name of the image
parser = MyHTMLParser()
parser.feed(html)
imgurl='http://apod.nasa.gov/apod/'+parser.output