Beautiful Soup库入门并用其构建简单的网页爬虫

简介:

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)


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。