首页 > 其他 > 详细

爬虫学习之基础篇 日记1

时间:2020-04-19 13:00:43      阅读:59      评论:0      收藏:0      [点我收藏+]

Soup.head.contents

Soup.body.contents

 

Forchild in soup.body.children

Print(child)

遍历儿子节点

 

For child in soup.body.children

Print(child)

遍历子孙节点

 

.parent 节点的父亲标签

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

 

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

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

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

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

 

平行遍历发生在同一个父亲节点下的各节点间

 

如何让html内容更加友好的显示?

bs4prettify() 会将每个标签的后面加上一个换行符

Print(soup.prettify())

首先把页面变成soup变量

 

Soup.p.string显示p标签内容

 

Bs4基本元素:

Tag标签  name标签的名字  attributes标签的属性  navigablestring标签之间的字符串   comment标签内容中间的注释

 

信息提取:

XML JSON YAML 搜索

提取HTML中所有的URL链接

 

 

 

 

 

Bs4遍历

.contents  .children   .descendants   .parent  .parents   .next_sibling   .next_siblings

.previous_sibling   .previous_siblings

 

 

信息标记:

 

XML扩展标记语言

 

 

 

JSON  有类型的键值对:key:value  增加双引号表示它为字符串,数字除外

“name”:[“a”,”b”]

“key”:{“newkey”:”b”;”oldkey”:”c”}

 

YAML无类型键值对key:value

但是建和值都不加双引号

Name:

Newname:a

Oldname:b

 

 

 

 

 

 

Internet主要XML

接口处理的地方 无注释  JSON  

各类型系统的配置文件  有注释  YAML

 

中国大学排名爬虫实战优化(实例):

当中文字符宽度不够时,采用西文字符填充,从而导致对齐不漂亮

处理方法:

采用中文字符来填充chr(12288)

 

正则表达式

正则表达式是用来表示一组字符串的

 

正则表达式的语法;

由字符和操作符组成

 

 

 

 

 

 

 

 

 

 

 

RE库:

采用raw string 表示正则表达式,指不包含转义字符得字符串

r’[1-9]+‘ 

 

RE库默认采用贪婪匹配,即输出匹配最长子串

  1. search(pattern,string,flags=0)

在一个字符串中搜索匹配正则表达式得第一个位置,并返回match对象

 

 

re.search(pattern,string,flags)

在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象

Pattern:正则表达式的字符串或原生字符串

String:待匹配字符串

Flags:正则表达式使用时的控制标记

 

re.match(pattern,string,flags=0)

从一个字符串的开始位置起匹配正则表达式,返回match对象

Pattern:正则表达式的字符串或原生字符串

String:待匹配字符串

Flags:正则表达式使用时的控制标记

 

re.findall(pattern,string,flags=0)

搜索字符串,以列表类型返回全部能匹配的子串

Pattern:正则表达式的字符串或原生字符串

String:待匹配字符串

Flags:正则表达式使用时的控制标记

 

re.split(pattern,string,maxsplit=0,flags=0)

将一个字符串按照正则表达式结果进行分割,返回列表类型

Pattern:正则表达式的字符串或原生字符串

String:待匹配字符串

Maxsplit:最大分割数,剩余部分作为最后一个元素输出

Flags:正则表达式使用时的控制标记

 

re.finditer(pattern,string,flags=0)

搜索字符串,返回一个匹配结果的迭代类型,每个迭代类型时match对象

 

re.sub(pattern,repl,string,count=0,flags=0)

在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串

 

regex = re.compile(pattern,flags=0)

将正则表达式的字符串形式编译成正则表达式对象

 

pandas用来做数据处理

numpy用来进行高维矩阵运算

matplotlib用来做数据可视化

爬虫学习之基础篇 日记1

原文:https://www.cnblogs.com/yaggy/p/12731044.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!