Beautiful Soup库入门并用其构建简单的网页爬虫
2014-02-21 11:07
351 查看
简介:
Beautiful Soup是一个HTML和XML文档的Python解析器。我们可以用它从不提供API调用的web站点获取网页并构造数据集,还可以利用它在网页中查找索引所需要的文本。利用urllib2和Beautiful Soup, 我们可以建立一个爬虫程序。
urllib2是一个与Python绑定的库,其作用是方便网页的下载。urllib和urllib2两个模块功能都差不多,但urllib2更好一些。如果只用简单的下载,urllib就足够了。
Beautifl Soup 安装
它是一个HTML和XML文档的Python解析器。我们可以用它从不提供API调用的web站点获取网页并构造数据集,还可以利用它在网页中查找索引所需要的文本。
项目地址:http://www.crummy.com/software/BeautifulSoup/
官方文档:http://www.crummy.com/software/BeautifulSoup/bs4/doc/
中文文档:http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
下载并解压,用CMD进入该目录执行:
python setup.py install
简单使用示例:
实例:利用BeautifulSoup构建一个网页图片下载爬虫:
Beautiful Soup是一个HTML和XML文档的Python解析器。我们可以用它从不提供API调用的web站点获取网页并构造数据集,还可以利用它在网页中查找索引所需要的文本。利用urllib2和Beautiful Soup, 我们可以建立一个爬虫程序。
urllib2是一个与Python绑定的库,其作用是方便网页的下载。urllib和urllib2两个模块功能都差不多,但urllib2更好一些。如果只用简单的下载,urllib就足够了。
Beautifl Soup 安装
它是一个HTML和XML文档的Python解析器。我们可以用它从不提供API调用的web站点获取网页并构造数据集,还可以利用它在网页中查找索引所需要的文本。
项目地址:http://www.crummy.com/software/BeautifulSoup/
官方文档:http://www.crummy.com/software/BeautifulSoup/bs4/doc/
中文文档:http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
下载并解压,用CMD进入该目录执行:
python setup.py install
简单使用示例:
>>> from bs4 import BeautifulSoup >>> from urllib import urlopen >>> soup=BeautifulSoup(urlopen('http://machinelearningmastery.com/machine-learning-matters/')) >>> soup.head.title <title>Machine Learning Matters | Machine Learning Mastery</title> >>> links=soup('a') >>> len(links) 59 >>> links[0] <a href="#navigation">Navigation</a> >>> links[0].contents[0] u'Navigation' >>>
实例:利用BeautifulSoup构建一个网页图片下载爬虫:
import re from urllib import * from bs4 import BeautifulSoup def getimg(url): soup = BeautifulSoup(urlopen(url)) html = str(soup) pat = r'http://imgsrc\..+?\.jpg' imglist = re.findall(pat,html) x = 0 for img in imglist: urlretrieve(img,"img%s.jpg" % x) print "img%s" %x + " success!" x+=1 url = 'http://tieba.baidu.com/p/2878062419' getimg(url)
相关文章推荐
- 安装Windows7后,NVDIA的显卡不见了的解决方法
- 动画效果-animation
- Relay access denied
- 上海交大2009机试
- 自定义适量BUTTon
- [windows程序设计]-格式化的消息框---ShinePans
- mongodb 数据库备份不成功的问题
- 一中 2.20 哈希专题 题解
- 自动合并单元格
- 应用 Valgrind 发现 Linux 程序的内存问题
- java Timer的使用以及schedult的理解
- 16章 链表、栈和队列
- Power Designer 对 Oracle反向工程遇到的问题
- A Comparison of java.net.URLConnection 和 HTTPClient
- makefile中的notdir,wildcard和patsubst
- NS2 分裂机制及代码分析<一>
- 社区服务O2O第5期:巨头们都在关注这个领域
- velocity简单实现
- 注解 @Resource
- thinkphp 读取配置