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中的正则表达式
Apr 28 Python
python通过post提交数据的方法
May 06 Python
详解Python多线程
Nov 14 Python
基于Django模板中的数字自增(详解)
Sep 05 Python
python和shell监控linux服务器的详细代码
Jun 22 Python
Python字符串逆序的实现方法【一题多解】
Feb 18 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
Jul 31 Python
Python如何使用k-means方法将列表中相似的句子归类
Aug 08 Python
Python的bit_length函数来二进制的位数方法
Aug 27 Python
python接口自动化如何封装获取常量的类
Dec 24 Python
Python图像处理二值化方法实例汇总
Jul 24 Python
python实现三壶谜题的示例详解
Nov 02 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
Dedecms V3.1 生成HTML速度的优化办法
2007/03/18 PHP
深入解析PHP中foreach语句控制数组循环的用法
2015/11/30 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
JavaScript中的普通函数和箭头函数的区别和用法详解
2017/03/21 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
vue.js实现备忘录功能的方法
2017/07/10 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
python实现百度关键词排名查询
2014/03/30 Python
python与C互相调用的方法详解
2017/07/14 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
python多线程共享变量的使用和效率方法
2019/07/16 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
python实现查找所有程序的安装信息
2020/02/18 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
Python使用Pygame绘制时钟
2020/11/29 Python
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
印尼旅游网站:via
2017/11/12 全球购物
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
中国领先的汽车保养服务平台:途虎养车
2019/10/18 全球购物
干部行政关系介绍信
2014/01/17 职场文书
2015年生活老师工作总结
2015/05/27 职场文书