第三课 Python爬虫Beautifulsoup4模块的使用

Beautifulsoup作用:

将网页(非结构化内容)转化成结构化内容

.text取得bs对象的文字内容(去除HTML标签)

现在令一个新的字符串:

html sample ='

Hello World!

This is link1

This is link2'

将字符串转化为bs对象:

soup = BeautifulSoup(html_sample)


第三课 Python爬虫Beautifulsoup4模块的使用_第1张图片

去除警告信息的方法:

原因:因为没有指定“剖析器”

解决:

soup = BeautifulSoup(html_sample,'html.parser')


第三课 Python爬虫Beautifulsoup4模块的使用_第2张图片

找寻特定元素:

#使用select找出含有h1标签的元素

alink = soup.select('h1')

print(alink)


第三课 Python爬虫Beautifulsoup4模块的使用_第3张图片

Print(alink[0])

输出的是内容,没有中括号


第三课 Python爬虫Beautifulsoup4模块的使用_第4张图片

print(alink[0].text)

输出标签内的文字


第三课 Python爬虫Beautifulsoup4模块的使用_第5张图片

#使用select找出含有a标签的元素

alink = soup.select('a')

print(alink)


第三课 Python爬虫Beautifulsoup4模块的使用_第6张图片

#使用select找出id="title"的内容(id前面需要加上#)感觉就类似CSS语法

alink = soup.select('#title')

print(alink)


第三课 Python爬虫Beautifulsoup4模块的使用_第7张图片

#使用select找出class="link"的内容(class前面需要加上.)

alink = soup.select('.link')

print(alink)


第三课 Python爬虫Beautifulsoup4模块的使用_第8张图片

我们看到输出多个结果,以列表的形式存储

相信这样大家就会更加清晰明白了:


第三课 Python爬虫Beautifulsoup4模块的使用_第9张图片

循环输出:

for link in alink:

print(link)


第三课 Python爬虫Beautifulsoup4模块的使用_第10张图片

.text的利用


第三课 Python爬虫Beautifulsoup4模块的使用_第11张图片

获取a标签的href属性:

for link in alink:

print(link['href'])


第三课 Python爬虫Beautifulsoup4模块的使用_第12张图片

会把href等属性包装成一个字典故很方便地取到数据!

取属性值:

html_sample2 = ' hello world! hello world2!'

soup2 = BeautifulSoup(html_sample2,'html.parser')

print(soup2.select('a')[0]['id'])

print(soup2.select('a')[1]['id'])


第三课 Python爬虫Beautifulsoup4模块的使用_第13张图片

注:本文属于原创文章,转载请注明本文地址!

作者QQ:1099718640

CSDN博客主页:http://blog.csdn.net/dyboy2017

Github开源项目:https://github.com/dyboy2017/spider

你可能感兴趣的:(第三课 Python爬虫Beautifulsoup4模块的使用)