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中将字典转换成其json字符串
Jul 16 Python
Python分析学校四六级过关情况
Nov 22 Python
Python3实现带附件的定时发送邮件功能
Dec 22 Python
Python使用zip合并相邻列表项的方法示例
Mar 17 Python
pandas按若干个列的组合条件筛选数据的方法
Apr 11 Python
关于python下cv.waitKey无响应的原因及解决方法
Jan 10 Python
python从入门到精通 windows安装python图文教程
May 18 Python
浅谈python图片处理Image和skimage的区别
Aug 04 Python
python实现的生成word文档功能示例
Aug 23 Python
Python中的相关分析correlation analysis的实现
Aug 29 Python
使用python-pptx包批量修改ppt格式的实现
Feb 14 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 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
php学习之 循环结构实现代码
2011/06/09 PHP
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
node.js下when.js 的异步编程实践
2014/12/03 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
JS实现可针对算术表达式求值的计算器功能示例
2018/09/04 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
flexible.js实现移动端rem适配方案
2020/04/07 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
Python性能提升之延迟初始化
2016/12/04 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
python getpass实现密文实例详解
2019/09/24 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
日本最大级玩偶手办购物:あみあみ Amiami
2018/04/23 全球购物
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
中间件分为哪几类
2012/03/14 面试题
奠基仪式策划方案
2014/05/15 职场文书
生日庆典策划方案
2014/06/02 职场文书
家长会标语
2014/06/24 职场文书
离职证明范本(5篇)
2014/09/19 职场文书
党员个人剖析材料
2014/09/30 职场文书
追悼会答谢词
2015/01/05 职场文书
给老婆的检讨书
2015/01/27 职场文书