BeautifulSoup使用

Posted 飞教主

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BeautifulSoup使用相关的知识,希望对你有一定的参考价值。

request能取到网页上面的数据,但是这些是属于结构化的数据,我们不能直接使用,需要将这些数据进行转化,从而方便使用

BeautifulSoup能将标签移除掉,从而获得网页上的数据以及内容

1、将特定标签的内容取出来

单个标签

 

from bs4 import BeautifulSoup
html_sample = ‘\<html>\ <body>\<h1 id ="title"> HelloWorld</h1>\<a href="#" class="link">This is link1</a>\<a href="# link2" class = "link"> This is link2</a>\</body>\</html>‘

soup= BeautifulSoup(html_sample,‘html.parser‘)
header=soup.select(‘h1‘)
print(header[0].text)


多个相同的标签
from bs4 import BeautifulSoup
html_sample = ‘\<html>\ <body>\<h1 id ="title"> HelloWorld</h1>\<a href="#" class="link">This is link1</a>\<a href="# link2" class = "link"> This is link2</a>\</body>\</html>‘

soup= BeautifulSoup(html_sample,‘html.parser‘)
header=soup.select(‘a‘)
for alink in header:
print(alink.text)
 2、取出含有特定css属性的元素
id前面需要加#
from bs4 import BeautifulSoup
html_sample = ‘\<html>\ <body>\<h1 id ="title"> HelloWorld</h1>\<a href="#" class="link">This is link1</a>\<a href="# link2" class = "link"> This is link2</a>\</body>\</html>‘

soup= BeautifulSoup(html_sample,‘html.parser‘)
header=soup.select(‘#title‘)
print(header)

class前面加.
from bs4 import BeautifulSoup
html_sample = ‘\<html>\ <body>\<h1 id ="title"> HelloWorld</h1>\<a href="#" class="link">This is link1</a>\<a href="# link2" class = "link"> This is link2</a>\</body>\</html>‘

soup= BeautifulSoup(html_sample,‘html.parser‘)
header=soup.select(‘.link‘)
for alink in header:
print(alink.text)
3、取得a标签里面链接的内容
from bs4 import BeautifulSoup
html_sample = ‘\<html>\ <body>\<h1 id ="title"> HelloWorld</h1>\<a href="#" class="link">This is link1</a>\<a href="# link2" class = "link"> This is link2</a>\</body>\</html>‘

soup= BeautifulSoup(html_sample,‘html.parser‘)
header=soup.select(‘a‘)
for alink in header:
print(alink[‘href‘])
 

以上是关于BeautifulSoup使用的主要内容,如果未能解决你的问题,请参考以下文章

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

使用 Python 和 BeautifulSoup(将网页源代码保存到本地文件中)

使用 selenium 和 beautifulsoup 的慢代码

尝试使用 BeautifulSoup 从我的代码中使用 Xpath 进行网络抓取 [重复]

爬虫BeautifulSoup库基本使用,案例解析(附源代码)

Python爬虫:想听榜单歌曲?使用BeautifulSoup库只需要14行代码即可搞定