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实现查询苹果手机维修进度
Mar 16 Python
深入剖析Python的爬虫框架Scrapy的结构与运作流程
Jan 20 Python
Android分包MultiDex策略详解
Oct 30 Python
对Python中gensim库word2vec的使用详解
May 08 Python
基于python实现从尾到头打印链表
Nov 02 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
Nov 11 Python
TensorFlow索引与切片的实现方法
Nov 20 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
Oct 19 Python
基于python爬取链家二手房信息代码示例
Oct 21 Python
ASP.NET Core中的配置详解
Feb 05 Python
python中对列表的删除和添加方法详解
Feb 24 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
让PHP以ROOT权限执行系统命令的方法
2011/02/10 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
调试WordPress中定时任务的相关PHP脚本示例
2015/12/10 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
PHP删除数组中指定下标的元素方法
2018/02/03 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
jquery offset函数应用实例
2012/11/14 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
python使用opencv读取图片的实例
2017/08/17 Python
python查看列的唯一值方法
2018/07/17 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
作息时间调整通知
2015/04/22 职场文书
国王的演讲观后感
2015/06/03 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书
pytorch finetuning 自己的图片进行训练操作
2021/06/05 Python