【Python学习笔记】爬虫基础(解析数据)

前往:我自己搭建的博客

所用版本: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() #获取文本内容

你可能感兴趣的:(【Python学习笔记】爬虫基础(解析数据))