python + urllib + BeautifulSoup 获取百度首页logo
1、urllib库是python自带的库,不需要安装。
2、BeautifulSoup是第三方库,安装方法: pip install bs4
# coding = utf-8
from urllib.request import urlopen, urlretrieve
from bs4 import BeautifulSoup
# 请求获取html
html = urlopen('http://www.baidu.com/')
# BeautifulSoup解析html
obj = BeautifulSoup(html.read(), 'html.parser')
# 1、使用find_all函数获取所有图片的信息
imgs = obj.find_all('img') # 返回的是一个列表
# print(imgs)
# 遍历打印每张图片的信息
# for i in imgs:
# print(i)
# 经分析得出,其中有百度首页logo的图片,该图片的class(元素类名)是index-logo-src
# 2、获取logo图片的信息
logo_img = obj.find_all('img', class_='index-logo-src')
# 打印logo图片的信息
print(logo_img)
print(logo_img[0], type(logo_img[0]))
# 获取logo图片的src
# logo_src = logo_img[0].get('src')
logo_src = logo_img[0]['src']
# 打印logo的src
print(logo_src)
# 拼接logo图片的url
logo_url = 'http:' + logo_src
# 打印logo图片的链接
print(logo_url)
# 使用urlretrieve下载logo图片
urlretrieve(logo_url, filename='logo.png')