Python爬虫学习2:Beautifulsoup的使用

Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。

Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。


1.   soup.prettify() : 按html标签层级格式打印,看起来很舒服

from bs4 import BeautifulSoup
import requests

soup = BeautifulSoup(open('test.html'))
print(soup.prettify())


2.  获取tag

print(type(soup.title))
print(soup.title.name)

<class 'bs4.element.Tag'>
title


3.  获取tag中的string

print(type(soup.title.string))
print(soup.title.string)
<class 'bs4.element.NavigableString'>
The Dormouse's story

  


4. 获取注释

 print(type(soup.a.string))
print(soup.a.string)
<class 'bs4.element.Comment'>
 Elsie 

for item in soup.body.contents:   # 遍历body中每个标签的内容
    print(item)
    print(item.name)   # 只找子元素的name


5. css查询


注意soup.a和soup.select('a')的区别
a_s = soup.a         #.点选择第一个a
for a in a_s:
    print(a)
Elsie
a_s = soup.select('a')       # select()选中所有a
for a in a_s:
    print(a)


猜你喜欢

转载自blog.csdn.net/zhuzuwei/article/details/80870252