上一篇博文中提到用正则表达式来匹配数据项,可是写起来容易出错,若是有过DOM开发经验或者使用过jQuery的朋友看到BeautifulSoup就像是见到了老朋友同样。html
Mac安装BeautifulSoup很简单,打开终端,执行如下语句,而后输入密码便可安装web
sudo easy_install beautifulsoup4
复制代码
# coding=utf-8
import urllib
from bs4 import BeautifulSoup
# 定义个函数 抓取网页内容
def getHtml(url):
webPage = urllib.urlopen(url)
html = webPage.read()
return html
# 定义一个函数 抓取网页中的图片
def getNewsImgs(html):
# 建立BeautifulSoup
soup = BeautifulSoup(html, "html.parser")
# 查找全部的img标签
urlList = soup.find_all("img")
length = len(urlList)
# 遍历标签 下载图片
for i in range(length):
imgUrl = urlList[i].attrs["src"]
urllib.urlretrieve("http://www.abc.edu.cn/news/"+imgUrl,'news-%s.jpg' % i)
# 获取网页
html = getHtml("http://www.abc.edu.cn/news/show.aspx?id=21430&cid=5")
# 抓取图片
getNewsImgs(html)
复制代码