栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python网络爬虫与信息提取笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python网络爬虫与信息提取笔记

1.Requests库入门

1.1Requests库的七个主要方法

requests.request() 构造一个请求,支撑以下个方法的基础方法

requests.get() 获取HTML网页的主要方法,对应于HTTP的GET

requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD

requests.post() 获取post请求的方法,对应于HTTP的POST

reqursts.put() 向HTML网页提交PUT请求的方法,对应于HTTP的PUT

reuqests.patch() 向网页提交局部修改请求,对应于HTTP的PATCH

reuqests.delete()向HTML页面提交删除请求,对应于HTTP的DELETE

1.2get方法的详细使用情况

requests.get(url,params=None,**kwargs)

url:网页的url链接

params:url中的额外参数,字典或字节流格式,可选

**kwargs:12个访问控制参数

1.3Response对象的属性(1)

r.status_code HTTP请求的返回状态,200表示链接成功,404表示失败

r.text HTTP响应内容的字符串形式,即,url对应的页面内容

r.encoding 从HTTP header中猜测的响应内容的编码方式

r.apparent_encoding 从内容分析的响应内容编码方式(备用编码方式)

r.content HTTP响应内容的二进制形式

1.4Requests库的异常

requests.ConnectionError 网络连接错误异常,如DNS查询失败,拒绝连接等

requests.HTTPError HTTP错误异常

requests.URLRequired        URL缺失异常

requests。ConnectTimeout     连接远程服务器超时异常

requests.Timeout        请求URL超时,产生超时异常

2.Beautiful Soup库的理解

2.1基本元素

Tag  标签,最基本的信息组织单元,分别用<>和标明开头和结尾

Name        标签的名字,

...

的名字是‘p’,格式:.name

Attributes        标签的属性,,字典形式组织,格式.attrs

NavigableString        标签内非属性字符串,<>...中字符串,格式:.string

Comment        标签内字符串的注释部分,一种特殊的Comment类型

2.2标签树的下行遍历

.contents        子节点的列表,将所有儿子节点存入列表

.childen        子节点的迭代类型,与.contents类似,用于循环遍历儿子节点

.descendants        子孙节点的迭代类型,包含所有子孙节点用于循环遍历

2.3标签树的上行遍历

.parent        节点的父亲标签

.parents        节点先辈标签的迭代类型,用于循环遍历先辈节点

2.4标签树的平行遍历(平行遍历关系发生在同一个父亲点下的各节点间)

.next_sibling         返回按照HTML文本顺序的下一个平行节点标签

.previous_sibling         返回按照HTML文本顺序的上一个平行节点标签

.next_siblings        迭代类型,返回按照HTML文本顺序的后续所有平行节点标签

.previous_sibling         迭代类型,返回按照HTML文本顺序的前续所有平行节点标签 

3. 信息组织与提取

3.1三种信息标记形式的比较

XML        最早的通用信息标记语言,可扩展性好,但繁琐        Internet上的信息交互与传递

JSON        信息有类型,适合程序处理(js)较XML简洁        移动应用云端的节点的信息通信,无注释

YAML        信息无类型,文本信息比例最高,可读性强        各类系统的配置文件,有注释易读

3.2信息提取的一般方法

方法一:完整解析信息的标记形式,再提取关键信息

优点:信息解析准确

缺点:提取过程繁琐,速度慢

方法二:无视标记形式,直接搜索关键信息

优点:提取过程简介,速度较快

缺点:提取结果准确性与信息内容相关

融合方法

结合形式解析与搜索方法,提取关键信息

3.3扩展方法

<>.find        搜索且只返回一个结果,同.find_all()参数

<>.find_parents()        在先辈节点中搜索,返回列表类型,同.find_all()参数

<>.find_parent()        在先辈节点中返回一个结果,同.find()参数

<>.find_next_sinlings()        在后续平行节点中搜素,返回列表类型,同find_all()参数

<>.find_next_sibling()        在后续平行节点中返回一个结果,同.find()参数

<>.find_previous_siblings()        在前序平行节点中搜索,返回列表类型,同.find_all()参数

<>.find_previous_sibling()        在前序平行节点中返回一个结果,同.find()参数

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/859446.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号