基于bs4库的HTML内容的查找方法:
实例:提取http://python123.io/ws/demo.html链接中的所有url
思路:1.搜索所有的<a>标签
2.解析<a>标签格式,提取href后的链接内容
实现代码如下:
import requests
from bs4 import BeautifulSoup
r = requests.get("http://python123.io/ws/demo.html")
demo = r.text
soup = BeautifulSoup(demo,"html.parser")
for link in soup.find_all('a'):
print(link.get('href'))
此处用到的就是传说中的find_all()方法!!!
关于find_all()的用法,下面细细道来~~
<>.find_all(name,attrs,recursive,string,**kwargs)
函数返回的是一个列表类型,存储查找结果
参数:
name:对标签名称的检索字符串,返回一个列表类型。。name可以是一个字符串,也可以是一个包含多个标签名称的列表类型
attrs:对标签属性值的检索字符串,可以标注属性检索
recursive:是否对子孙的全部检索,默认为True
string:<>....</>中字符区域的检索字符串
find_all()的简化形式
<tag>(...) 等价于<tag>.find_all(...)
soup(..) 等价于soup.find_all(...)
find_all()的扩展方法,如下