三、BeautifulSoup库
从网页源码中解析并提取数据
#代码示例
import requests #导入requests库
import re #条用正则表达式使用
form bs4 import BeautifuiSoup #导入BeautifulSoup库
r=requests.get('https://www.baidu.com') #get方式获取网页数据(像目标url地址发送get请求,返回一个response对象
# print(r.text) 获取网页源码(F12)
soup=BeautifulSoup(r.text,'lxml')
data=soup.find_all(‘a’) #查找所有a标签( 也可用select( ‘*****’)选择定位器,直接网页F12后选中要查找的内容a标签部分->右键copy->copy selector )
#以上是获取了一段a标签的html代码,以下开始提取数据
for item in data:
result= {
'title':item.get_text(), #获取title的文本内容
'link':item.get('href') #获取url
'id':re.findall('\d+',item.get('href')) #获取url的id,第一个参数为正则表达式,第二个参数表示要提取的文本
}
注:find('a')是查找第一个a标签