Beautiful Soup的简介
简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下:
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。
下面是代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import requests from bs4 import BeautifulSoup url = 'http://news.sina.com.cn/china/' res = requests.get(url) # 使用UTF-8编码 res.encoding = 'UTF-8' # 使用剖析器为html.parser soup = BeautifulSoup(res.text, 'html.parser') # 遍历每一个class=news-item的节点 for news in soup.select('.news-item'): h2 = news.select('h2') # 只选择长度大于0的结果 if len(h2) > 0: time = news.select('.time')[0].text title = h2[0].text href = h2[0].select('a')[0]['href'] print(time, title, href) |