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)


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Beautiful Soup 是一个Python,用于从HTML和XML文件中提取数据。它提供了一种简单的方式来遍历、搜索和修改解析树,让你能够轻松地从网页中提取所需的信息。 以下是 Beautiful Soup 的基础入门步骤: 1. 安装 Beautiful Soup: 你可以使用 pip 来安装 Beautiful Soup。在命令行中运行以下命令: ``` pip install beautifulsoup4 ``` 2. 导入 Beautiful Soup: 在你的 Python 脚本中导入 Beautiful Soup 模块: ```python from bs4 import BeautifulSoup ``` 3. 创建 Beautiful Soup 对象: 使用 BeautifulSoup 函数,将要解析的 HTML 或 XML 字符串作为参数传入,并指定解析器,例如 'html.parser': ```python soup = BeautifulSoup(html_doc, 'html.parser') ``` 4. 解析 HTML 结构: 你可以使用不同的 Beautiful Soup 方法来遍历解析树,从而提取数据。例如,你可以使用 `find` 方法来查找符合特定条件的单个元素,或者使用 `find_all` 方法来查找所有符合条件的元素。 ```python # 查找第一个 <p> 标签 paragraph = soup.find('p') # 查找所有 <a> 标签 links = soup.find_all('a') ``` 5. 提取数据: 一旦你找到了所需的元素,你可以使用 Beautiful Soup 提供的各种方法来提取其中的文本或属性。 ```python # 提取 <p> 标签的文本 paragraph_text = paragraph.get_text() # 提取 <a> 标签的 href 属性值 for link in links: href = link['href'] ``` 这只是 Beautiful Soup 的基础入门,它还有更多功能和用法。你可以参考官方文档来深入学习:https://www.crummy.com/software/BeautifulSoup/bs4/doc/

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值