【笔记】慕课-Python网络爬虫与信息提取-BeautifulSoup库(2)

本文介绍了使用BeautifulSoup库进行网络爬虫和信息提取的方法,包括JSON和YAML数据格式的理解,以及各种解析方法如find_all、find等。通过实例分析了如何提取中国大学排行榜,并针对输出优化提出了使用中文空格调整对齐的解决方案。
摘要由CSDN通过智能技术生成

JSON

有类型键值对
带有引号
一对一 “key”:“value”
一对多 “key”:[“value1”,“value2”]
嵌套 “key”:{“subkey”:“subvalue”}

YAML

无类型键值对,没有任何引号和括号
常用于配置文件
缩进表示所属关系
"-"表示同级并列关系
key:value
key:#Comment
-value1
-value2
key:
subkey:subvalue

方法

< tag >.find_all(name,attrs,recursive,string…)
简写形式:< tag >(…)

比如soup.find_all(…)等价于soup(…)

name可以传入一个参数’a’,也可以以列表的形式传入多个参数[‘a’,‘b’]

若name传入的参数是true,则表示所有标签名称

attrs 标签的属性,可引入正则表达式re.compile()

recursive 是否对子孙全部检索,默认true,可用于判断目标标签是处于儿子位置还是子孙位置

string <>…</>中字符串区域的检索字符串

拓展方法:略去了 _all

< tag >.find() 搜索且只返回一个结果
< tag >.find_parents() 在先辈节点中搜索,返回列表类型
< tag >.find_parent() 在先辈节点中返回一个结果,字符串类型
< tag >.find_next_sinlings() 后续平行节点
< tag >.find_next_sinling()
< tag >.find_previous_siblings() 前序平行节点
< tag >.find_previous_sibling()

实例1:中国大学排行

代码结构:
getHTMLText() 从网络上获取大学排名的网页内容
fillUnivList() 提取网页内容中信息到合适的数据结构中,在这里使用列表
printUnivList() 利用数据结构展示并输出结构

import requests 
from bs4 import BeautifulSoup		#只引用了bs4库的BeautifulSoup类
import bs4

def getHTMLText(url)try:
		r=requests.get(url.timeout=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值