python 网页解析器

1、常见的python网页解析工具有:re正则匹配、python自带的html.parser模块、第三方库BeautifulSoup(重点学习)以及lxm库。

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网页解析器使用实例详解相关推荐

  1. python编程字典100例_python中字典(Dictionary)用法实例详解

    本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...

  2. python的类和对象_Python面向对象之类和对象实例详解

    本文实例讲述了Python面向对象之类和对象.分享给大家供大家参考,具体如下: 类和对象(1) 对象是什么? 对象=属性(静态)+方法(动态): 属性一般是一个个变量:方法是一个个函数: #类的属性 ...

  3. python中symbols函数用法_Python基础之函数用法实例详解

    本文以实例形式较为详细的讲述了Python函数的用法,对于初学Python的朋友有不错的借鉴价值.分享给大家供大家参考之用.具体分析如下: 通常来说,Python的函数是由一个新的语句编写,即def, ...

  4. python类初始化导入库_Python中optparser库用法实例详解

    本文研究的主要是Python中optparser库的相关内容,具体如下. 一直以来对optparser不是特别的理解,今天就狠下心,静下心研究了一下这个库.当然了,不敢说理解的很到位,但是足以应付正常 ...

  5. python 字典定义日志用法_python中字典(Dictionary)用法实例详解

    本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...

  6. python编写自动化脚本工具_python自动化工具之pywinauto实例详解

    本文实例为大家分享了python自动化工具pywinauto,供大家参考,具体内容如下 一.win环境应用自动化 1.浏览器中下载 2.在cmd下启动:python get-pip.py 3.在cmd ...

  7. python中copytree的用法_python复制文件的方法实例详解

    本文实例讲述了python复制文件的方法.分享给大家供大家参考.具体分析如下: 这里涉及Python复制文件在实际操作方案中的实际应用以及Python复制文件 的相关代码说明,希望你会有所收获. Py ...

  8. [转载] python里字典的用法_python中字典(Dictionary)用法实例详解

    参考链接: Python字典dictionary copy方法 本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映 ...

  9. php 请求拦截,解决拦截器对ajax请求的拦截实例详解

    解决拦截器对ajax请求的的拦截 拦截器配置:public boolean preHandle(HttpServletRequest request, HttpServletResponse resp ...

  10. python画椭圆-python opencv圆、椭圆与任意多边形的绘制实例详解

    圆形的绘制 : OpenCV中使用circle(img,center,radius,color,thickness=None,lineType=None,shift=None)函数来绘制圆形 impo ...

最新文章

  1. 传智168期JavaEE struts2杜宏 day 29~day31笔记(2017年2月4日23:14:00)
  2. LeetCode实战:回文数
  3. 关于Tomcat有这一篇就够了
  4. mysql索引组织结构_MySQL中创建及优化索引组织结构的思路(3)
  5. 【机器学习】知否?知否?广义线性模型
  6. ps字体识别_PS字体包免费送:艺术+时尚+炫酷+复古等5000多款字体,由你来选择
  7. 2015年第六届蓝桥杯C/C++ A组国赛 —— 第一题:方格填数
  8. mybatis.net - 5 嵌入资源与引用资源
  9. webapi 初识 net
  10. sql组合索引和独立索引_SQL索引概述和策略
  11. C# 传递给C++函数的结构体没有对齐的问题
  12. 3ds Max随堂笔记 材质和贴图
  13. openGL, mac 上 glad 的环境搭建
  14. 好心情心理咨询:揪出10个「睡眠小偷」,还你一夜好眠
  15. 通用数据保护条例的监管下,你的数据湖“断舍离”了吗?
  16. 编程题002--二叉树的镜像--niuke
  17. java---双色球彩票系统
  18. 等离子体进展期刊和网站
  19. 现代人工智能的载体——计算机
  20. ViewModel学习

热门文章

  1. linux下oracle开机自启动,Linux下开机自动启动Oracle的设置
  2. html中input后的报错信息,js 监测from表单中的input和select,时时监测,没有输入或选择信息报错,不允许提交数据...
  3. 机器学习之基于Fisher实现二分类的人脸识别
  4. Remove One Element(贪心)
  5. Yet Another Meme Problem(打表找规律)
  6. java数组的调用_java中数组的应用及方法
  7. 安装Mathcad过程中的问题——解决无法将注册值写入注册表
  8. oracle odbc 设置_Oracle删除不干净怎么办?
  9. linux桌面显示温度,请问ubuntu下有没有什么桌面小控件现实显卡温度cpu使用率之类的...
  10. java dateformat hh_Java 中时间处理SimpleDateFormat 中HH和hh的区别