Python网页解析器使用实例详解


Posted in Python onMay 30, 2020

python 网页解析器

1、常见的python网页解析工具有:re正则匹配、python自带的html.parser模块、第三方库BeautifulSoup(重点学习)以及lxm库。

Python网页解析器使用实例详解

2、常见网页解析器分类

(1)模糊匹配 :re正则表达式即为字符串式的模糊匹配模式;

(2)结构化解析: BeatufiulSoup、html.parser与lxml,他们都以DOM树结构为标准,进行标签结构信息的提取。

3.DOM树解释:即文档对象模型(Document Object Model),其树形标签结构,请见下图。

所谓结构化解析,就是网页解析器它会将下载的整个HTML文档当成一个Doucment对象,然后在利用其上下结构的标签形式,对这个对象进行上下级的标签进行遍历和信息提取操作。

# 引入相关的包,urllib与bs4,是获取和解析网页最常用的库
from urllib.request import urlopen
from bs4 import BeautifulSoup

# 打开链接
html=urlopen("https://www.datalearner.com/website_navi")

# 通过urlopen获得网页对象,将其放入BeautifulSoup中,bsObj存放的目标网页的html文档

bsObj=BeautifulSoup(html.read())
print(bsObj)

# soup = BeautifulSoup(open(url,'r',encoding = 'utf-8'))

import requests
from bs4 import BeautifulSoup

headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36','referer':"www.mmjpg.com" }
all_url = 'http://www.mmjpg.com/'
  #'User-Agent':请求方式
  #'referer':从哪个链接跳转进来的

start_html = requests.get(all_url, headers=headers)
  #all_url:起始的地址,也就是访问的第一个页面
  #headers:请求头,告诉服务器是谁来了。
  #requests.get:一个方法能获取all_url的页面内容并且返回内容。

Soup = BeautifulSoup(start_html.text, 'lxml')
  #BeautifulSoup:解析页面
  #lxml:解析器
  #start_html.text:页面的内容

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现七彩蟒蛇绘制实例代码
Jan 16 Python
Pipenv一键搭建python虚拟环境的方法
May 22 Python
python3对接mysql数据库实例详解
Apr 30 Python
python网络应用开发知识点浅析
May 28 Python
使用Python实现将list中的每一项的首字母大写
Jun 11 Python
Python实现字符串中某个字母的替代功能
Oct 21 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
python encrypt 实现AES加密的实例详解
Feb 20 Python
Python日志logging模块功能与用法详解
Apr 09 Python
Python填充任意颜色,不同算法时间差异分析说明
May 16 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
May 28 Python
Python Matplotlib绘制等高线图与渐变色扇形图
Apr 14 Python
PyQt5实现画布小程序
May 30 #Python
Java ExcutorService优雅关闭方式解析
May 30 #Python
Python定时任务APScheduler原理及实例解析
May 30 #Python
Python生成器next方法和send方法区别详解
May 30 #Python
Python新手学习标准库模块命名
May 29 #Python
Django Path转换器自定义及正则代码实例
May 29 #Python
Python新手如何理解循环加载模块
May 29 #Python
You might like
咖啡知识大全
2021/03/03 新手入门
PHPShop存在多个安全漏洞
2006/10/09 PHP
php中的一些数组排序方法分享
2012/07/20 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
自己写了一个php检测文件编码的函数
2014/04/21 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
Vue.js如何优雅的进行form validation
2017/04/07 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
Python中的id()函数指的什么
2017/10/17 Python
Python使用OpenCV进行标定
2018/05/08 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
python编程进阶之类和对象用法实例分析
2020/02/21 Python
Python如何批量获取文件夹的大小并保存
2020/03/31 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
Ray-Ban雷朋太阳眼镜英国官网:Ray-Ban UK
2019/11/23 全球购物
麦当劳印度网上订餐:McDelivery
2020/03/16 全球购物
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
正风肃纪剖析材料
2014/02/18 职场文书
人力资源部门的主要职能
2014/02/22 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
交通事故协议书范本
2014/11/18 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书
如何设计高效合理的MySQL查询语句
2021/05/26 MySQL
golang特有程序结构入门教程
2021/06/02 Python