【发布时间】:2018-11-16 16:52:18
【问题描述】:
我想抓取任何网站并只下载图片。但是,使用以下代码,程序甚至可以下载 img 标签中存在的 gif。如何选择只下载 png 和 jpeg?
def fetch_url():
url = _url.get()
config['images'] = []
_images.set(())
try:
page = requests.get(url)
except requests.RequestException as rex:
_sb(str(rex))
else:
soup = BeautifulSoup(page.content, 'html.parser')
images = fetch_images(soup, url)
if images:
_images.set(tuple(img['name'] for img in images))
_sb('Images found: {}'.format(len(images)))
else:
_sb('No images found!.')
config['images'] = images
def fetch_images(soup, base_url):
images = []
for img in soup.findAll('img'):
src = img.get('src')
img_url = ('{base_url}/{src}'.format(base_url=base_url, src=src))
name = img_url.split('/')[-1]
images.append(dict(name=name, url=img_url))
return images
【问题讨论】:
-
install
wget.. 当你想下载图片时,它是一个很棒的工具。
标签: python web-scraping beautifulsoup web-crawler