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 相关文章推荐
浅谈终端直接执行py文件,不需要python命令
Jan 23 Python
数据清洗--DataFrame中的空值处理方法
Jul 03 Python
python 字典中文key处理,读取,比较方法
Jul 06 Python
Python3几个常见问题的处理方法
Feb 26 Python
Django ORM 聚合查询和分组查询实现详解
Aug 09 Python
Python中的单下划线和双下划线使用场景详解
Sep 09 Python
python实现获取单向链表倒数第k个结点的值示例
Oct 24 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
简单了解Python变量作用域正确使用方法
Jun 12 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
Jan 28 Python
python字符串常规操作大全
May 02 Python
浅谈Python数学建模之固定费用问题
Jun 23 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
ThinkPHP分页类使用详解
2014/03/05 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
VsCode新建VueJs项目的详细步骤
2017/09/23 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
[36:05]完美世界DOTA2联赛循环赛 Forest vs DM 第一场 11.06
2020/11/06 DOTA
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
在python3中实现更新界面
2020/02/21 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
日本最大级玩偶手办购物:あみあみ Amiami
2018/04/23 全球购物
管理科学大学生求职信
2013/11/13 职场文书
业务经理的岗位职责
2013/11/16 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
大学自主招生推荐信
2014/05/10 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
公民授权委托书
2014/10/15 职场文书
大学军训决心书
2015/02/05 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
php引用传递
2021/04/01 PHP
Python 批量下载阴阳师网站壁纸
2021/05/19 Python
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫