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 相关文章推荐
Pycharm学习教程(1) 定制外观
May 02 Python
Python随机生成手机号、数字的方法详解
Jul 21 Python
Python3实现发送QQ邮件功能(文本)
Dec 15 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
Jan 10 Python
python筛选出两个文件中重复行的方法
May 31 Python
基于DATAFRAME中元素的读取与修改方法
Jun 08 Python
Linux下python3.6.1环境配置教程
Sep 26 Python
Python和Go语言的区别总结
Feb 20 Python
Python 窗体(tkinter)按钮 位置实例
Jun 13 Python
对python中GUI,Label和Button的实例详解
Jun 27 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
Apr 15 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文本操作类
2006/11/25 PHP
使用php来实现网络服务
2009/09/15 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
Node.js实现在目录中查找某个字符串及所在文件
2014/09/03 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
js模拟F11页面全屏显示
2019/09/17 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
vue更改数组中的值实例代码详解
2020/02/07 Javascript
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
python计算文本文件行数的方法
2015/07/06 Python
Python实现将xml导入至excel
2015/11/20 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
python实现简单猜单词游戏
2020/12/24 Python
实例讲解利用HTML5 Canvas API操作图形旋转的方法
2016/03/22 HTML / CSS
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
幼儿园实习自我鉴定
2013/12/15 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
党员承诺书内容
2014/03/26 职场文书
防卫过当辩护词
2015/05/21 职场文书
公司年会开场白
2015/06/01 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
九年级英语教学反思
2016/02/15 职场文书