ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【Python学习之旅】---BeautifulSoup模块

2020-03-20 22:54:12  阅读:235  来源: 互联网

标签:Python 标签 BeautifulSoup li soup html 模块 print data


 1 from bs4 import BeautifulSoup
 2 import re
 3 html='''
 4 <html>
 5 <body>
 6 <div>
 7     <ul>
 8         <li class="item-1"><a href="link1.html">张三</a></li>
 9         <li class="item-2"><a href="link2.html">李四</a></li>
10         <li class="item-2"><a href="link3.html">王五</a>
11     </li></ul>
12 </div>
13 '''
14 #解析字符窜形式的html
15 soup=BeautifulSoup(html,"lxml")
16 
17 #解析本地的html文档
18 soup2=BeautifulSoup(open("123.html"))
19 
20 #格式化输出soup对象
21 print(soup.prettify())
22 
23 #根据标签名获取标签信息 soup.标签名
24 print(soup.li)
25 #获取标签内容
26 print(soup.li.string)
27 #获取标签民
28 print(soup.li.name)
29 #获取标签内所有属性或属性值
30 print(soup.li.attrs["class"])
31 #获取直接子标签,结果是一个列表
32 print(soup.ul.contents)
33 #获取直接字标签,结果是一个生成器,不是单独打印ul中的每一个标签
34 for i in soup.ul.children:
35     print(i)
36 #获取所有字标签,结果是一个生成器,会单独打印每一个标签
37 for i in soup.ul.descendants:
38     print(i)
39 
40 
41 #搜索文档树
42 #根据字符窜查找所有的li标签,返回一个结果集,装的是标签对象
43 data=soup.find_all("li")
44 for i in data:
45     print(i.string)
46 
47 #根据正则表达式查找标签
48 data=soup.find_all(re.compile("^a"))
49 for i in data:
50     print(i.string)
51 
52 
53 #根据属性查找标签
54 data=soup.find_all(href="link2.html")
55 for i in data:
56     print(i)
57 
58 
59 #根据标签内容获取标签内容
60 data=soup.find_all(text=re.compile("张"))
61 print(data[0])

 

标签:Python,标签,BeautifulSoup,li,soup,html,模块,print,data
来源: https://www.cnblogs.com/chenyuxia/p/12535528.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有