“美味汤”BeautifulSoup库的使用学习(5)—基于bs4库的html标记内容查找方法(find_all)
 (2019-02-06 15:05:59)
	
			
					(2019-02-06 15:05:59)		
			实例:提取html中的所有URL链接
 
2)解析标签格式,提取href属性的内容 
						
		
		
		
		
		
		
							
		
				
		
				
	思路:1)搜索到所有的a标签
soup = BeautifulSoup(demo,"html.parser")
for alink in soup.find_all("a"):
print(alink.get("href"))
.find_all()方法
.find_all(name,attrs,recursive,string,**kwargs)、
返回存储查找结果的列表
1.name要检索的标签名,字符串,同时查找a标签,b标签find_all(["a","b"])
如果检索的字符串是True,会找到所有标签
for
tag in
soup.find_all(True):
                 print(tag)
正则表达式re.compile("b")  ,返回所有以“b”开头的信息, 把正则表达式返回的信息作参数查找
for tag in soup.find_all(re.compile("b")):
print(tag.name)
2.attrs 对标签属性值的检索字符串,标注属性来检索
for tag in soup.find_all("a","py1"):
print(tag)
       直接检索id属性和确定值
             soup.find_all(id="link")
   直接检索id属性和不确定值,正则表达式
soup.find_all(id=re.compile("link")) 
3.recursive 布尔值,是否对子孙全部检索,false值只检索儿子
print(soup.find_all("a",recursive=False))
4.string 标签之间的内容检索字符串,只有输入检索标签之间全部值才能检索到,除非使用正则表达式
print(soup.find_all(string = "This is a python demo page"))
      print(soup.find_all(string = re.compile("This is a python") ))
简写方式( .find_all = () )
 tag.find_all() = tag()
      soup.find_all() = soup()
拓展方法,有s的返回列表没有s的返回一个字符串
总结:
主要使用bs4库的find_all()方法提取html文档信息,7个拓展方法,搭配re库的正则表达式方法.compile("字符串"),可以搜索模糊字符串
							
		
 加载中…
加载中…