前往:我自己搭建的博客
所用版本:Python 3.6
使用bs4.BeautifulSoup()可以解析爬取的网页数据并以树形结构存储,然后就可以使用返回的对象查询数据。
# -*- coding: utf-8 -*-
import bs4
import re #实现正则表达式的功能(判断字符串是否符合某个标准)
f=open("baidu.html",'r',encoding="utf-8")
html=f.read()
bs=bs4.BeautifulSoup(html,"html.parser")
print(bs.title) #查询第一个标签及其内容
print(bs.title.string) #查询第一个标签的内容
print(bs.a.attrs) #查询标签内的所有属性
t=bs.find_all("a") #查询所有标签及其内容(全词匹配)
t=bs.find_all(re.compile('a')) #查询所有标签及其内容(部分匹配)
t=bs.find_all(id="head") #查询含有特定属性的标签及其内容
t=bs.find_all(href="http://news.baidu.com")
t=bs.find_all(class_=True)
t=bs.find_all(text=re.compile("\d")) #利用正则表达式查询包含特定文本的标签里的字符串
t=bs.find_all("a",limit=3) #限制查询的数量
t=bs.select("title") #通过标签查找
t=bs.select(".mnav") #通过类名查找
t=bs.select("#u1") #通过id查找
t=bs.select("div[class='s_tab']") #通过属性查找
t=bs.select("head > meta") #查询某种标签的子标签
t=bs.select(".mnav ~ .bri") #查询某种标签的某种兄弟标签
t=t[0].get_text() #获取文本内容