| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
11年前发布

HTML和XML文档的Python解析器:Beautiful Soup

简介:

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间。

我们可以用它从不提供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'        >>>   
</div> </div>
实例:利用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)  
来自:http://blog.csdn.net/tao_sun/article/details/19611061
</div> </div>

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!