Python 使用BeautifulSoup从URL获取图像

Python 使用BeautifulSoup从URL获取图像,python,url,web-scraping,beautifulsoup,urllib,Python,Url,Web Scraping,Beautifulsoup,Urllib,我试图从维基百科页面获取重要的图像,而不是缩略图或其他GIF,并使用以下代码。然而,“img”的长度为“0”。任何关于如何纠正的建议 代码: import urllib import urllib2 from bs4 import BeautifulSoup import os html = urllib2.urlopen("http://en.wikipedia.org/wiki/Main_Page") soup = BeautifulSoup(html) imgs = soup.fin

我试图从维基百科页面获取重要的图像,而不是缩略图或其他GIF,并使用以下代码。然而,“img”的长度为“0”。任何关于如何纠正的建议

代码:

import urllib
import urllib2
from bs4 import BeautifulSoup
import os

html = urllib2.urlopen("http://en.wikipedia.org/wiki/Main_Page")

soup = BeautifulSoup(html)

imgs = soup.findAll("div",{"class":"image"})

另外,如果有人可以通过查看网页中的“源元素”详细解释如何使用findAll。那太棒了。

页面上的
a
标签有一个
image
类,而不是
div

>>> img_links = soup.findAll("a", {"class":"image"})
>>> for img_link in img_links:
...     print img_link.img['src']
... 
//upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Stora_Kronan.jpeg/100px-Stora_Kronan.jpeg
//upload.wikimedia.org/wikipedia/commons/thumb/4/4b/Christuss%C3%A4ule_8.jpg/77px-Christuss%C3%A4ule_8.jpg
...
或者,最好使用
a.image>img

UPD(使用下载图像):


页面上的
a
标记具有
image
类,而不是
div

>>> img_links = soup.findAll("a", {"class":"image"})
>>> for img_link in img_links:
...     print img_link.img['src']
... 
//upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Stora_Kronan.jpeg/100px-Stora_Kronan.jpeg
//upload.wikimedia.org/wikipedia/commons/thumb/4/4b/Christuss%C3%A4ule_8.jpg/77px-Christuss%C3%A4ule_8.jpg
...
或者,最好使用
a.image>img

UPD(使用下载图像):


我在那个页面上没有看到任何名为“image”的类的div标记

你可以得到所有的图像标签,然后扔掉那些小的

imgs = soup.select('img')

我在那个页面上没有看到任何名为“image”的类的div标记

你可以得到所有的图像标签,然后扔掉那些小的

imgs = soup.select('img')

@LonelySoul-sure,检查
UPD
部分。@LonelySoul-sure,检查
UPD
部分。