BeautifulSoup简介

2019-10-09  本文已影响0人  小T数据站

1. 解析器

推荐使用lxml解析器,它有解析XML和LXML的功能,速度快、容错能力强。

from bs4 import BeautifulSoup
soup = BeautifulSoup('<p>Hello</p>','lxml')
print(soup.p.string)

2. 节点选择器

from bs4 import BeautifulSoup
soup = BeautifulSoup(html,'lxml')
print(soup.title) #打印出title节点以及里面的内容
print(soup.tilte.string) #打印title节点里的文本内容
print(soup.p) #打印出第一个p节点

3. 方法选择器

print(soup.find_all(name='ul') ) #查找所有节点名为ul的节点
for ul in soup.find_all(name='ul'):
    print(ul.find_all(name='li'))  #打印出所有ul节点下的li节点
for ul in soup.find_all(name='ul'):
    print(ul.find_all(name='li')) 
    for li in ul.find_all(name='li'):
        print(li.string) # 打印出所有ul节点下li节点的文本信息

(2)attr:属性

print(soup.find_all(attrs={'id':'list-1'})) #打印出id为list-1的节点
print(soup.find_all(id='list-1')) #同上

4. CSS选择器

from bs4 import BeautifulSoup
soup = BeautifulSoup(html,'lxml')
for ul in soup.select('ul'):
    print(ul.select('li')) #返回所有ul节点下所有li节点组成的列表
for ul in soup.select('ul'):
    print(ul['id']) #等同于print(ul.attrs['id'])
for li in soup.select('li'): 
    print(li.get_text()) #等同于print(li.string)

5. 总结


以上总结源于崔庆才的《python3网络爬虫开发实战》

上一篇 下一篇

猜你喜欢

热点阅读