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 的 Socket 编程
Mar 24 Python
详解Python中的join()函数的用法
Apr 07 Python
python统计cpu利用率的方法
Jun 02 Python
python用reduce和map把字符串转为数字的方法
Dec 19 Python
python安装numpy&安装matplotlib& scipy的教程
Nov 02 Python
PyQt5每天必学之关闭窗口
Apr 19 Python
python虚拟环境迁移方法
Jan 03 Python
python cumsum函数的具体使用
Jul 29 Python
python与mysql数据库交互的实现
Jan 06 Python
Python 实现黑客帝国中的字符雨的示例代码
Feb 20 Python
Python tkinter之ComboBox(下拉框)的使用简介
Feb 05 Python
Python使用OpenCV实现虚拟缩放效果
Feb 28 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下清空字符串中的HTML标签的代码
2010/09/06 PHP
PHP模块 Memcached功能多于Memcache
2011/06/14 PHP
PHP中比较时间大小实例
2014/08/21 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
webpack实现热加载自动刷新的方法
2017/07/30 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
Vuex 入门教程
2018/01/10 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
详解jquery和vue对比
2019/04/16 jQuery
vue2配置scss的方法步骤
2019/06/06 Javascript
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
[01:42]DOTA2 – 虚无之灵
2019/08/25 DOTA
Python求算数平方根和约数的方法汇总
2016/03/09 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
大学生的网络创业计划书
2013/12/26 职场文书
20岁生日感言
2014/01/13 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
八项规定对照检查材料
2014/08/31 职场文书
2014年幼师工作总结
2014/11/22 职场文书
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android