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编程实现双击更新所有已安装python模块的方法
Jun 05 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
Jan 24 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
Apr 21 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
Jul 12 Python
Python3爬虫全国地址信息
Jan 05 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
python 公共方法汇总解析
Sep 16 Python
python getpass模块用法及实例详解
Oct 07 Python
Python可变参数会自动填充前面的默认同名参数实例
Nov 18 Python
Python读取分割压缩TXT文本文件实例
Feb 14 Python
Pandas缺失值2种处理方式代码实例
Jun 13 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
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
JavaScript、C# URL编码、解码总结
2017/01/21 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
利用JS判断元素是否为数组的方法示例
2021/01/08 Javascript
Python中字符串对齐方法介绍
2015/05/21 Python
python编码最佳实践之总结
2016/02/14 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
Python列表的切片实例讲解
2019/08/20 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
详解python的变量缓存机制
2021/01/24 Python
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
耐克美国官网:Nike.com
2016/08/01 全球购物
纽约通行卡:The New York Pass(免费游览纽约90多个景点)
2017/07/29 全球购物
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
一个精品风格的世界:Atterley
2019/05/01 全球购物
5.1手机促销活动
2014/01/17 职场文书
春节联欢晚会主持词范文
2014/03/24 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
十佳少年事迹材料
2014/12/25 职场文书
小学教师读书笔记
2015/07/01 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
Python实战之疫苗研发情况可视化
2021/05/18 Python
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL