bs4的简单介绍及使用
一、 bs4的介绍:
Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。
二、bs4的安装:
安装pycharm的 时候,看自己是否安装了pip,如果安装了pip的话就可以直接在命令行键入
pip install beautifulsoup4
三、任务及实现
任务:爬一个说说网站的说说内容,链接,图片
实现:
import urllib2 from bs4 import BeautifulSoup import sys reload(sys) sys.setdefaultencoding( "gbk" ) f = open("shuoshuo.txt", "w+") def soup(): x=1 for x in range(1, 6): page = urllib2.urlopen('http://www.gexings.com/jingdian/list_1_%s.html'% x); soup = BeautifulSoup(page,fromEncoding="gb18030") #注意编码问题 page=soup.find_all("div", class_="listbox") #定位到div标签 for tag in page: print tag.get_text().encode('utf-8') #得到标签里的文字内容 a="文字内容"+':'+tag.get_text().encode('utf-8') for link in soup.find_all('a',class_='preview'): print(link.get('href')).encode('utf-8') #a标签就是链接 b=link.get('href').encode('utf-8') for link in soup.find_all("img"): print(link.get('src')).encode('utf-8') #图片 c=link.get('src').encode('utf-8') f.write(a+'\n'+b+'\n'+c+'\n') soup() f.close()