文章目录

爬虫的价值

正则表达式

requests-html

BeautifulSoup

lxml的XPath

爬虫的价值

常见的数据获取方式就三种:自有数据、购买数据、爬取数据。用Python写爬虫工具在现在是一种司空见惯的事情,每个人都希望能够写一段程序去互联网上扒一点资料下来,用于数据分析或者干点别的事情,我们知道,爬虫的原理无非是把目标网址的内容下载下来存储到内存中,这个时候它的内容其实是一堆HTML,然后再对这些HTML内容进行解析,按照自己的想法提取出想要的数据,所以今天我们主要来讲四种在Python中解析网页HTML内容的方法,各有千秋,适合在不同的场合下使用

正则表达式正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等

正则的好处是编写麻烦,理解不容易,但是匹配效率很高,不过时至今日有太多现成的HTMl内容解析库之后,我个人不太建议再手动用正则来对内容进行匹配了,费时费力。

如果大家要学习可以参考:正则传送门

requests-html

这个库其实是我个人最喜欢的库,作则是编写requests库的网红程序员 Kenneth Reitz,他在requests的基础上加上了对html内容的解析,就变成了requests-html这个库了。

我喜欢用requests-html来解析内容的原因是因为作者依据帮我高度封装过了,连请求返回内容的编码格式转换也自动做了,完全可以让我的代码逻辑简单直接,更专注于解析工作本身。

安装与使用: pip install requests-html

BeautifulSoup

大名鼎鼎的 BeautifulSoup库,出来有些年头了,在Pyhton的HTML解析库里属于重量级的库,其实我评价它的重量是指比较臃肿,大而全,而且依赖Python,适用场景受到了局限性。

BeautifulSoup解析内容同样需要将请求和解析分开,从代码清晰程度来讲还将就,不过在做复杂的解析时代码略显繁琐,总体来讲可以用,看个人喜好吧。

安装与使用: pip install beautifulsoup4

lxml的XPath

lxml这个库同时 支持HTML和XML的解析,支持XPath解析方式,解析效率挺高,不过我们需要熟悉它的一些规则语法才能使用,例如下图这些规则。

安装与使用: pip install lxml

学习体验路径:AI特种兵训练营 - 网易云课堂​study.163.com

python爬虫分析_Python爬虫解析网页的4种方式相关推荐

  1. python网页结构分析图_Python爬虫解析网页的4种方式 值得收藏

    用Python写爬虫工具在现在是一种司空见惯的事情,每个人都希望能够写一段程序去互联网上扒一点资料下来,用于数据分析或者干点别的事情. 我们知道,爬虫的原理无非是把目标网址的内容下载下来存储到内存中, ...

  2. python网页结构分析_Python爬虫解析网页的4种方式 值得收藏

    用Python写爬虫工具在现在是一种司空见惯的事情,每个人都希望能够写一段程序去互联网上扒一点资料下来,用于数据分析或者干点别的事情. 我们知道,爬虫的原理无非是把目标网址的内容下载下来存储到内存中, ...

  3. Python爬虫解析网页的4种方式 值得收藏

    用Python写爬虫工具在现在是一种司空见惯的事情,每个人都希望能够写一段程序去互联网上扒一点资料下来,用于数据分析或者干点别的事情. 我们知道,爬虫的原理无非是把目标网址的内容下载下来存储到内存中, ...

  4. 网页爬虫 python-Python爬虫解析网页的4种方式

    文章目录 爬虫的价值 正则表达式 requests-html BeautifulSoup lxml的XPath 爬虫的价值 常见的数据获取方式就三种:自有数据.购买数据.爬取数据.用Python写爬虫 ...

  5. python数字转换_python数字转换为字符串的两种方式

    原博文 2017-08-05 23:24 − 主要包括两种形式进行转换: 第一种是str(),将值转换为用户便于阅读的形式: 另一种是repr(),将值转换为合法的python表达式. >> ...

  6. python挖矿代码_python检测挖矿特征的几种方式

    1 #!/usr/bin/python3 2 #coding:utf-8 3 from tkinter import * 4 importpsutil,linecache,ctypes,wmi5 im ...

  7. python爬虫详细步骤-Python爬虫的两套解析方法和四种爬虫实现过程

    对于大多数朋友而言,爬虫绝对是学习 python 的最好的起手和入门方式.因为爬虫思维模式固定,编程模式也相对简单,一般在细节处理上积累一些经验都可以成功入门.本文想针对某一网页对 python 基础 ...

  8. Python 打开网页的几种方式

    Python打开网页的几种方式 方法1:直接调用系统命令 os #导入包 import os #执行包命令 os.system('"C:/Users/Public/AppData/Local ...

  9. java解析xml的几种方式

    java解析xml的几种方式 博客分类: java基础备忘-好记性不然烂笔头 XMLJava应用服务器数据结构编程  第一种:DOM. DOM的全称是Document Object Model,也即文 ...

最新文章

  1. 数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解
  2. Java线程池详解学习:ThreadPoolExecutor
  3. 【错误记录】反射时调用方法及成员报错 ( 执行反射方法 | 设置反射的成员变量 | 设置方法/成员可见性 )
  4. 深度学习-Tensorflow2.2-深度学习基础和tf.keras{1}-线性回归tf.keras概述-02
  5. wepy学习笔记之环境搭建
  6. linux的ctrl alt f6的作用,Linux(Centous6.4)操作系统中,快捷键Alt+Ctrl+F10是什么作用?...
  7. 利用动态规划(DP)解决 Coin Change 问题
  8. 查看eclipse 内存使用情况
  9. [iOS Animation]-CALayer 变换
  10. json.decoder.JSONDecodeError: Expecting ‘,‘ delimiter: line xx column xx (char xxx)
  11. 揭秘 OceanBase 勇夺 TPC 榜首的王者攻略!
  12. 微信电话本的未来在农村
  13. numpy 归一化_图卷积网络到底怎么做,这是一份极简的Numpy实现
  14. php基础-基本语法
  15. android 自定义listview 多列,android listview的多列模版实例代码
  16. Diango做blog.docx
  17. scrapy 搜索关键字_基于scrapy框架输入关键字爬取有关贴吧帖子
  18. 太乙超级计算机,从“启明”到“太乙”,南科大的超算发展之路
  19. VR虚拟现实培训解决方案
  20. 使用反射生成 JDK 动态代理

热门文章

  1. Leetcode--102. 二叉树的层次遍历
  2. git 生成ssh key_ubuntu git生成ssh key (公钥私钥)配置github或者码云
  3. 网站服务器睡眠后还能访问吗,远程服务器可以睡眠吗
  4. pc计算机中ram的编址单位,字母编址
  5. html设置焦点图片,HTML设置焦点
  6. ubuntu安装Redis+安装mysql(配置远程登录)+安装jdk+安转nginx+安转teamviewer+安装terminator+安装sublime
  7. gdb 调试命令的使用及总结
  8. 上古卷轴5json文件修改_【白夜谈】我做了一款失败的《社长卷轴》Mod
  9. [网络]------TCP UDP HTTP Socket 区别
  10. Java 内存 关系_JVM和Linux之间的详细内存关系