答案 0 :(得分:3)
尝试使用Python包美丽的汤。它将以一个非常简单的语句为您解析所有HTML。试试这段代码:
website = urllib2.urlopen(url)
websitehtml = website.read()
soup = BeautifulSoup(websitehtml)
matches = soup.findAll('img')
for row in matches:
print row['src']
print row['alt']
从此处使用row['src']
设置图片的src
并在其旁边打印alt
。
答案 1 :(得分:1)
Accessify.com有多个accessibility testing tools作为bookmarklet(或“favelets”)。其中一个做了我认为你正在寻找的东西。在该页面上查找“Alt attributes - show all”。将该链接拖到书签上,然后在要测试的页面上使用它。
此外,Web Accessibilty Toolbar(可用于Internet Explorer和Opera)在“图像”下有一个“列表图像”选项,可以执行相同的操作 - 列出图像和与每个图像相关的代码。
至于检查整个网站,有免费的辅助功能检查器应该有这样的功能,如aDesigner。
答案 2 :(得分:0)
答案 3 :(得分:0)
This answer on SO使用Selenium检查您网站上是否存在替代文字的图片。
答案 4 :(得分:0)
听起来你想要的东西就像是杰里米提供了。即,每个图像及其alt属性只是一些长列表。问题是,这不会为您提供足够的上下文来提供有用的alt属性,因为alt属性不应(通常)“准确地描述它们所代表的图像”,而是描述图像是什么旨在代表当前页面上的 。很难提供关于如何编写有用的替代文本的简短描述。 Wikipedia article on alt attributes本身在当前状态下很糟糕,但引用很有用。当然,many other SO questions与此相关。
可能有一些预先写好的工具可以满足您的要求,例如:从起始页面可以访问所有页面,只需抓取整个网站并生成列表即可。但是,如果只能通过例如一些页面来访问某些页面。搜索时,可能需要一些特定于站点的工具。
无论哪种方式,我们假设我们有这样的工具可用。即使这样,它的使用也相当有限。即使您可以获得网站上所有图像的列表及其相关的替代文本,您仍然必须访问所有页面,一次一页,并且可能在某些浏览器中使用某些Web开发人员扩展(有这样的工具)在其他答案中提供,我认为)显示页面上的所有替代文字;然后,修复替代文字,在之后找到相关页面上实际使用的图像。
因此,您请求的此工具仅对查找可能错误使用alt属性的页面(即任何带有图像的页面)非常有用。 (但取决于所考虑的网站,当然,即使这可能会有所帮助。)您仍然需要打开实际使用图像的网页(或者,如果您愿意,请阅读页面的HTML代码)找出正确/更好的替代文字是什么。
因此,您最多会得到一个包含图像的页面列表,您必须检查这些页面。但这仍然会遗漏一些重要案例,例如:使用CSS background-image
属性来显示按钮(而不是img
图像)的情况, 应该有替换文字。
答案 5 :(得分:0)
您可以使用功能强大的JAVA API:JSOUP
构建选择器的文档:selectors syntax
培训:online lab
对于你的情况:
Document doc = Jsoup.connect("https://stackoverflow.com/").get();
System.out.println(doc.title());
Elements imgWithAltAttr = doc.select("img[alt]");
for (Element img : imgWithAltAttr) {
System.out.println("%s\n\t%s",
img.attr("alt"), img.absUrl("src"));
}
我们在accessibilty项目中使用Jsoup:https://github.com/Tanaguru/Tanaguru