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获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 Python
Python3使用requests包抓取并保存网页源码的方法
Mar 15 Python
不要用强制方法杀掉python线程
Feb 26 Python
centos6.4下python3.6.1安装教程
Jul 21 Python
python输入错误密码用户锁定实现方法
Nov 27 Python
使用python的pandas库读取csv文件保存至mysql数据库
Aug 20 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
Oct 11 Python
Django框架 querySet功能解析
Sep 04 Python
python图形开发GUI库pyqt5的基本使用方法详解
Feb 14 Python
Django如何与Ajax交互
Apr 29 Python
发工资啦!教你用Python实现邮箱自动群发工资条
May 10 Python
Python爬虫网络请求之代理服务器和动态Cookies
Apr 12 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&mysql(二)
2006/10/09 PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
实用函数5
2007/11/08 PHP
php数组排序usort、uksort与sort函数用法
2014/11/17 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
JS启动应用程序的一个简单例子
2008/05/11 Javascript
js 调用百度地图api并在地图上进行打点添加标注
2014/05/13 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
JavaScript中函数(Function)的apply与call理解
2015/07/08 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
2015/09/22 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
nodejs对express中next函数的一些理解
2017/09/08 NodeJs
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
vue中的router-view组件的使用教程
2018/10/23 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
Python文件及目录操作实例详解
2015/06/04 Python
深入学习python多线程与GIL
2019/08/26 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
酒店员工职业生涯规划
2014/02/25 职场文书
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2014年招生工作总结
2014/11/26 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL