bs4的使用

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()

猜你喜欢

转载自blog.csdn.net/qq_40024605/article/details/79077672
BS4
今日推荐