提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
第一节课讲述了Requests的使用,也就是python内置的Requests库,其实Python还有BeautifulSoup库,下面讲述下它的用法。
一、Beautiful库用来干什么?
BeautifulSoup库可以轻松解析Reaquests库请求的网页,并把网页源代码解析为Soup文档,从而提取数据,小编认为这个库比较方便观察请求的网页源代码。
二、使用步骤
1.引入库
代码如下(示例):
import requests
from bs4 import BeautifulSoup
#导入库
2.实例代码
import requests
from bs4 import BeautifulSoup
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.125 Safari/537.36'
}
#使用if__name__=='__main__':魔法函数,相当于C语言,java语言里面的主函数
if __name__=='__main__':
print('这是用requests库提取到的数据,比较杂乱')
response=requests.get('https://www.xiaozhu.com/',headers=headers)
print(response.text)
print('这是用BeautifulSoup提取到的数据,用了缩进的方式,排列整齐')
soup=BeautifulSoup(response.text,'html.parser') #这里'html.parse'可以换做'lxml'
print(soup)
"""
soup = BeautifulSoup(html, 'html.parser')
‘lxml’ 和 ‘html.parser’就是两种解析器。
html.parser是python标准库中的解析器,
两个解释器,推荐使用lxml
一般解析本地文件使用html.parser解析器更好用一些,如上我用的就是html.parser;如果要是解析 网页文件,比如从网页上抓取下来得信息,就需要用 lxml 解析器,效率会更高一些。
"""
下面比较下Requests和BeautifulSoup所提取到数据:
soup方法:
承接上面的代码,使用.find_all(''),可以锁定相应的标签,比如说网页源代码里面的body,和script标签.
result=soup.find_all('body')
result=soup.find_all('script')#find_all方法找div标签都行,可以通过class来找
print(result)
#print(soup.prettify())
打印结果如图所示:
网页源代码如图所示
总结
虽然BeautifSoup库,小编并不经常使用,但对初学者而言无疑是一个重要的知识点,日积月累嘛。还是祝各位学业进步,节节高升!!!