我:我已经学会了基本的python,接下来可以学什么鸭?

惨绿青年:接下来可以学习制作python爬虫了,但还是需要学习相关的知识。

我:什么知识鸭?

惨绿青年:网页的相关知识。我们看到的网页一般是html+css+javascript编写出来的文件,然后浏览器解析该文件再展示出来给我们看。python爬虫的原理就是获取网页的代码,然后通过各种方式从其中提取出数据。

我:数据是怎么提取的鸭?

惨绿青年:python的数据提取方式一般为4种:beautifulsoup,xpath,css选择器,正则表达式。今天我们先来学习前两种吧。

——————我si昏鸽线——————

html

惨绿青年:在学习beautifulsoup和xpath之前先来了解一下html。html是超文本标记语言,把各种标签通过树形结构组合起来。

树结构示意图

我:那标签是啥鸭?

惨绿青年:标签用来定义网页的内容。不同的标签定义不同类别的内容。例如用来定义链接,

用来定义一段文字。标签也有属性和对应的属性值。

标签以及说明

该标签在浏览器中显示的样子

——————我si昏鸽线——————

beautifulsoup

惨绿青年:接下来来学习beautifulsoup吧。beautifulsoup是python的一个库,该库能通过简单的方式提取数据。

我:那怎么安装鸭?

惨绿青年:打开命令行,输入“pip install beautifulsoup4”就行了。

安装好后就能使用了

惨绿青年:beautifulsoup能将html文档解析后生成一个beautifulsoup对象,beautifulsoup对象也是一种树形结构,包含各种节点,每一个节点都对应html的标签。

惨绿青年:节点对象可通过beautifulsoup对象直接访问,获得该节点内的所有内容,通过该方法获取的节点返回的是第一个符合条件的节点。节点有两个常用的属性attrs、contents和string。调用attrs属性会返回一个列表,包含该节点的所有属性;调用contents和string属性会返回该节点的内容。

惨绿青年:通过某个节点也可以访问其他节点,它的上一个为父节点,下一个节点为子节点,同一个父节点的其他节点为兄弟节点。前一个节点是previous_sibling,后一个节点是next_sibling。需要注意的是,在实际的html文档换行符或者字符串也会成为节点。

示意图

注意观察bs的内容

惨绿青年:beautifulsoup常用find_all()方法来查找节点。此外还有find_parent()、find_children()等方法,使用的原理和find_all()类似,具体可查看官方文档。

——————我si昏鸽线——————

xpath

惨绿青年:xpath是一种在xml或html中查找信息的方法。要在python中使用xpath要先安装lxml包,和上面安装的方式一样,打开命令行输入“pip install lxml”。若不能成功,则在命令行输入“python -m pip install -U pip”,然后到python官网下载lxml的wheel文件。下载后在命令行输入“pip install ”,再把wheel文件拖到命令行即可。

惨绿青年:xpath与beautifulsoup类似,都有节点,都是把html转换成树结构。xpath通过路径查找信息,就像通过路径能访问计算机中的文件夹。xpath的常用语法有“/”,“//”,“.”,“..”,“@”,“*”。“/”表示选取子节点;“//”表示在所有子孙节点中选取;“.”表示当前节点;“..”表示选取父节点;“@”表示选取属性;“*”是通配符,表示匹配所有的节点或属性。当把html构造为etree对象时,会把html节点当作根节点,路径从该节点的下一层开始。

惨绿青年:xpath还可以通过“@”选取属性,通过text()获取节点中的文本。

python代码html显示数据_Python爬虫基础之认识html和学习数据提取(上)相关推荐

  1. python win32ui选取文件夹_Python爬虫基础之认识html和学习数据提取(上)

    我:我已经学会了基本的python,接下来可以学什么鸭? 惨绿青年:接下来可以学习制作python爬虫了,但还是需要学习相关的知识. 我:什么知识鸭? 惨绿青年:网页的相关知识.我们看到的网页一般是h ...

  2. python爬取公交车站数据_Python爬虫实例_城市公交网络站点数据的爬取方法

    爬取的站点:http://beijing.8684.cn/ (1)环境配置,直接上代码: # -*- coding: utf-8 -*- import requests ##导入requests fr ...

  3. python爬取收费素材_Python爬虫练习:爬取素材网站数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 在工作中的电子文案.ppt,生活中的新闻.广告,都离不开大量的素材,而素材 ...

  4. python爬视频网站数据_python爬虫基础应用----爬取无反爬视频网站

    一.爬虫简单介绍 爬虫是什么? 爬虫是首先使用模拟浏览器访问网站获取数据,然后通过解析过滤获得有价值的信息,最后保存到到自己库中的程序. 爬虫程序包括哪些模块? python中的爬虫程序主要包括,re ...

  5. python爬虫金融数据_python爬虫项目-爬取雪球网金融数据(关注、持续更新)

    (一)python金融数据爬虫项目 爬取目标:雪球网(起始url:https://xueqiu.com/hq#exchange=cn&firstname=1&secondname=1_ ...

  6. python爬取头条图集_Python爬虫基础练习(六) 今日头条街头篮球图片爬取

    今天我们要爬取的仍然是图片,不过与上一篇有所不一样的是,今天爬取的是今日头条上的图集,接着往下看吧~ 运行平台:Windows Python版本:Python3.6 IDE: Sublime Text ...

  7. python发短信 金山_Python爬虫基础练习(四) 金山翻译爬取(进阶篇)

    上一篇文章金山翻译爬取(基础篇)讲到爬取金山翻译,并且实现了简单词汇的爬取,但是我们的报错信息都是一长串字符,就像这样 当然这个报错还是很容易看懂的,"列表索引超出范围",但是我们 ...

  8. python如何爬虫eps数据_Python爬虫如何通过post获取网站的数据?

    最起码把你实际要post的字段贴出来吧, 比如说你在哪个框中填入那些数据, 点击哪个按钮 我没法在chrome中看到这个请求, 也是醉了, 最后我翻他的JS源代码, 找到了: function Get ...

  9. 小学生学c语言基础知识,小学数学1-6年级基础知识整理,孩子学习用得上

    小学数学1-6年级基础知识整理,孩子学习用得上 作者:网编整理 丨 来源:网络 丨 发布时间:2020-04-16 14:35丨 分享 (一到六年级) 小学一年级初步认识加减法.学会基础加减. 小学二 ...

最新文章

  1. 李佳琦一晚卖了100亿,有位“硬汉”在背后默默发力
  2. OpenCV新手入门,如何用它平移缩放和旋转图片
  3. 直立车各环的调试_平衡小车调试指南(直立环 速度环)
  4. php create database,sql create database 创建数据库命令
  5. 重磅!微软发布新一代 Teams 开发工具 —— Teams Toolkit!不止VS Code extension!
  6. “vmware tools 只能虚拟机中安装”的解决方法
  7. 求交集和并集的线性算法
  8. 【python练习题01】字符串格式化输出
  9. 集合的一些练习题1(Collection+Map)
  10. 锐浪报表 Grid++Report uniGUI Web表格打印
  11. Android关于对话框,Android对话框(Dialog)完全使用手册
  12. wpf 鼠标拖动绘制几何图形
  13. 【验证码识别】OpenCV挑战腾讯防水墙滑动验证码
  14. 《滚雪球:巴菲特和他的财富人生》【美】艾丽斯·施罗德著
  15. 使用激光雷达创建地图
  16. 对于说人话的人的置疑
  17. php new 图标,美化大前端DUX主题 - 新发布的文章加上NEW图标
  18. CentOS6u9 Oracle11g RAC 搭建部署(八)OGG测试
  19. 初次联系导师短信模板_上海大学考研复试:如何联系导师
  20. Drupal 主题系统( Drupal theme)(1)

热门文章

  1. 卸料装置弹性零件的计算方法_第三篇:冲压模具结构设计学习--退料零件、模架零件...
  2. stm32pid算法控制电机转速_电机控制算法探讨ABB
  3. 在html画一个自动缩放圆环,使用html5 canvas绘制圆环动效
  4. 定义成本控制范围(Controlling Area)
  5. 基于FDTD软件模拟MMI结构光谱模拟分析
  6. Android 播放系统提示音
  7. 趣头条自媒体怎么玩可以月入一万
  8. FlowFusion: 基于光流法的动态稠密RGB-D SLAM
  9. win10 家庭版 受信任站点的“站点”按钮是灰色无法使用问题
  10. SI2302低压MOS管- 场效应管SI2302低压管