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操作MongoDB基础知识
Nov 01 Python
python操作xml文件示例
Apr 07 Python
Python中List.count()方法的使用教程
May 20 Python
利用numpy实现一、二维数组的拼接简单代码示例
Dec 15 Python
Python实现的读写json文件功能示例
Jun 05 Python
TensorFlow 滑动平均的示例代码
Jun 19 Python
基于django channel实现websocket的聊天室的方法示例
Apr 11 Python
值得收藏的10道python 面试题
Apr 15 Python
将python安装信息加入注册表的示例
Nov 20 Python
python学生信息管理系统实现代码
Dec 17 Python
解决使用python print打印函数返回值多一个None的问题
Apr 09 Python
Python Django中间件使用原理及流程分析
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
PHP句法规则详解 入门学习
2011/11/09 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
python调用cmd命令行制作刷博器
2014/01/13 Python
Python实现批量下载图片的方法
2015/07/08 Python
python实现k-means聚类算法
2018/02/23 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2019/01/10 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
Python中如何添加自定义模块
2020/06/09 Python
python调用百度API实现人脸识别
2020/11/17 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
餐饮收银员岗位职责
2014/02/07 职场文书
技能比赛获奖感言
2014/02/14 职场文书
读书活动实施方案
2014/03/10 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
公务员考察材料范文
2014/12/23 职场文书
辩论赛新闻稿
2015/07/17 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
Python异常类型以及处理方法汇总
2021/06/05 Python
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL