1 三种信息类型的简介

xml : extensible markup language

与html非常相似

现有html后有xml

xml是html发展来的 扩展 通用

json  类型

javascript object notation

有类型的键值对 表达的方式

一个key对应多个值

"key1":["asas",''asas'']

嵌套使用

"name":{

"newname":“北京理工大学”

"oldname":"延安自然科学院"

}

yaml   (yaml ain't markup language) :)

name: 北京理工大学  无类型的

通过缩写表示所属的相关关系(嵌套)

name:

oldname:xxxxx

newname:sasas

通过减号表达并列关系

name :

-xxxxxx

-asasasas

竖线表示整块数据

text:|

asdadsssssssssssssdsd

sdadasdasdasdasdasd

asdasd

#表示注释

xml 世界上最早的通用信息标记语言 ,可拓展性好

json 信息有类型,适合程序处理,简介

yaml 信息无类型 文本型息比例最好,可读性好

xml  internet上的交互与流动

json 程序对借口的使用,云端   但是无注释

yaml 各类系统的配置文件 有注释易读

2 信息提取的一般方法

方法一:完整解析信息的标记形式,需要表及解析器 列如 bs4的标签书遍历

繁琐慢;

方法二:无视标记信息,直接提取关键信息,利用文本查找

准确性与内容相关

融合方法:结合形式解析与搜索方法

例:

提取html上所有的URL链接

1.找到所有的a标签

2.找到a标签中的href?

form bs4 import BeautifulSoup

soup=BeautifulSoup(demo,"html.parser")

for link in soup.find_all("a"):

print(link.get("href"))

3基于BeautifulSoup的内容查找

方法find_all(name,attrs,recursive,string,**kwargs)

返回一个列表类型,存储查找的结果

soup.find_all("a”)

soup,find_all(["a","b"]) 同时查找ab标签

for tag in soup.find_all(True):

print(tag.name)

可以打印该soup中的所有tag信息

import re

for tag in soup.find_all(re.compile("b")):

print(tag.name)

打印以b开头的

attrs

查找p标签中带有course属性值的的

soup.find_all("p","course")

//soup.find_all("p",attrs={"ssdsd":"dssds})

也可以约定是某一个属性为XX

soup.find_all(id="link1")

#id属性为link1

import re //利用正则表达式

recursive 表示是否对所有子孙都搜索 默认为TRUE

soup.find_all("a")

string 对标签中的字符穿检索的属性

例:

soup.find_all(string="Basic python")

也可以用正则表达式

简短形式

() 等价于 .find_all()

soup(...)等价于 soup.find_all()

7个拓展方法

find  只返回一个结果 字符串类型

find_parents 只在先辈节点中搜索,返回一个列表

find_parent 只在黔北节点中搜索,返回结果 字符串类型一个

find_next_siblings只在后续平行节点中搜索,返回列表类型

find_next_sibling 同上只返回一个 字符串类型

find_previous_siblings

find_previsou_sibling 同上

差不多

python医疗发票 信息抽取_PYTHON网络爬虫与信息提取[信息的组织与提取](单元五)...相关推荐

  1. python网络爬虫与信息提取_北京理工大学_Python网络爬虫与信息提取(一)

    学习 北京理工大学 嵩天 课程笔记 课程体系结构: 1.Requests框架:自动爬取HTML页面与自动网络请求提交 2.robots.txt:网络爬虫排除标准 3.BeautifulSoup框架:解 ...

  2. 以下用于数据存储领域的python第三方库是-南开《网络爬虫与信息提取》19秋期末考核题目【标准答案】...

    <网络爬虫与信息提取>19秋期末考核-0001 试卷总分:100 得分:70 一.单选题 (共 20 道试题,共 40 分) 1.如果很多爬虫同时对一个网站全速爬取,那么其实就是对网站进行 ...

  3. python网页数据存入数据库_python网络爬虫抓取动态网页并将数据存入数据库MySQL...

    简述 以下的代码是使用python实现的网络爬虫,抓取动态网页 http://hb.qq.com/baoliao/ .此网页中的最新.精华下面的内容是由JavaScript动态生成的.审查网页元素与网 ...

  4. python网络爬虫与信息提取视频_Python网络爬虫与信息提取入门5

    Part19 实例5:IP地址归属地的自动查询 怎么查询一个IP地址的归属呢?比如说某一个IP地址他是来自于北京.上海还是美国呢?我们用一个python 程序来判断.当然你要判断一个地址的归属地,你必 ...

  5. python网络爬虫与信息提取北京理工大学_Python网络爬虫与信息提取(一)

    Reference: 第一周 网络爬虫之规则 单元1:Requests库入门 1-1 Requests库的安装 1-2 Requests库的get()方法 1-3 爬取网页的通用代码框架 1-4 HT ...

  6. python网络信息提取_Python网络爬虫与信息提取入门13

    Part28 1三种信息标记形式的比较 下面我们来比较一下三种信息标记形式. XML是一种用尖括号标签表达信息的一种形式,JSON是用一种有类型的键值对标记信息的表达形式,YAML是用无类型的键值对标 ...

  7. 爬虫python爬取页面请求_Python网络爬虫第三弹《爬取get请求的页面数据》

    一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...

  8. python网络信息提取_python网络爬虫与信息提取I

    一.Requests库的安装 安装Requests非常简单,只需一行代码即可.首先以管理员身份运行cmd,输入如下代码: 1.pip的安装 其实一般安装的python其Script文件包下都会自带有p ...

  9. python中spider的用法_python网络爬虫 CrawlSpider使用详解

    CrawlSpider 作用:用于进行全站数据爬取 CrawlSpider就是Spider的一个子类 如何新建一个基于CrawlSpider的爬虫文件 scrapy genspider -t craw ...

最新文章

  1. 基于jenkins结合git实现web程序的多服务器批量发布
  2. 我可以在Android版式中加下划线吗?
  3. 百度地图3.1课程—检索演示
  4. Java SE 8新功能介绍:Lambda的遍历,过滤,处理集合和方法增强
  5. 计算机图形学在线作业,电子科技16秋《计算机图形学》在线作业3 辅导资料
  6. 实验楼linux指令,Linux操作命令(二)
  7. JAVA动态绑定浅析
  8. ORA-01113问题的简单分析
  9. @Transactional注解失效场景之——同类中方法调用,事务失效
  10. 山东大学操作系统课设
  11. 专访方立勋:开发者应该保持好奇和热情
  12. 互联网企业安全高级指南3.9 关于ISO27001
  13. win10内置计算机和天气闪退,win10系统中天气闪退怎么办?Win10天气应用闪退问题解决方法...
  14. 定性分析PK定量分析:情敌还是战友?
  15. ExtJs4(3)——带搜索和操作按钮的表
  16. 【Oracle数据库基础学习】
  17. 多进程和多线程的使用场景
  18. 根据身份证号码(15位或者18位)自动获取出生日期及性别
  19. 市值跌破300亿美元!这是京东逆袭的四个方向
  20. 李梦娇口诀88条(视频+讲义)

热门文章

  1. ug10许可证错误一8_面对排污许可证后监督检查,企业应做好哪些准备?
  2. python公共变量_Python中的公共变量
  3. Java Thread类的最终void join()方法与示例
  4. 面试突击 005 | Redis 是如何实现高可用的?它的实现方式有哪些?「视频版」
  5. Java 200+ 面试题补充 ThreadLocal 模块
  6. linq to js使用汇总
  7. Linux kubuntu x64系统下解决QT5.12编辑菜单和工具栏不显示图标问题
  8. Ubuntu18 Win10搭建Caffe训练识别mnist手写数字demo
  9. Windows下MySQL压缩包.zip的安装
  10. Lambda表达式及应用