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入门教程
Feb 08 Python
Python中使用装饰器时需要注意的一些问题
May 11 Python
python函数装饰器用法实例详解
Jun 04 Python
详解Python命令行解析工具Argparse
Apr 20 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
Dec 20 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
详解python中*号的用法
Oct 21 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
使用matplotlib绘制图例标签中带有公式的图
Dec 13 Python
Python调用scp向服务器上传文件示例
Dec 22 Python
用 python 进行微信好友信息分析
Nov 28 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 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
关于js和php对url编码的处理方法
2014/03/04 PHP
PHP比你想象的好得多
2014/11/27 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
匹配任意字符的正则表达式写法
2010/04/29 Javascript
利用jQuery操作对象数组的实现代码
2011/04/27 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
Python中的self用法详解
2019/08/06 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
python小白学习包管理器pip安装
2020/06/09 Python
Python 如何定义匿名或内联函数
2020/08/01 Python
python实现canny边缘检测
2020/09/14 Python
Python字典dict常用方法函数实例
2020/11/09 Python
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
您附近的水疗和健康场所:Spafinder(美国)
2019/07/05 全球购物
车间调度岗位职责
2013/11/30 职场文书
2014年应届大学生自我评价
2014/01/09 职场文书
妈妈的账单教学反思
2014/02/06 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书
python 标准库原理与用法详解之os.path篇
2021/10/24 Python