博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python爬虫周志_python爬虫第二周
阅读量:6454 次
发布时间:2019-06-23

本文共 1379 字,大约阅读时间需要 4 分钟。

2ff34e647e2e3cdfd8dca593e17d9b0a.png

第四单元 beautiful soup入门先通过 “python -m pip install –upgrade pip”更新pip版本

import requestsr.text

demo = r.text

from bs4 import BeautifulSoup

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

print(soup.prettify())

节点对象的属性 (内容)

soup—是BeautifulSoup类的一个对象 是标签树 每个标签就是一个节点

1 tag —-标签 是标签树的基本单位

2 tag.name —-标签名 tag.parent.name 外层标签名

3 tag.attrs—–标签属性 字典形式

4 tag.string—-标签非属性字符串 包括注释

5 tag.Comment—-标签注释

遍历标签树 (结构)下行遍历 children

上行遍历 parents

平行遍历 siblings

2019-12-29

基于bs4库的格式化和编码prettify()方法将每个标签后面加换行符使用print函数打印就可以自动换行

bs4库保存html文件使用utf-8格式

第五单元信息组织与提取方法

信息组织标记XML 标签

JSon 有类型键值对

YAML 无类型键值对

比较XMLi用于internet信息传递

JSON移动应用云端额节点的信息通信无注释

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

信息提取的一般方法for link in soup.find_all('a'):

print(link.get('href'))

link是什么玩意—就是临时变量用来指代查找列表里的对象元素

从C语言我们就知道查找的基础是遍历,

find_all(name,attrs) find检索的是字符串返回包含字符串的(信息。 例如属性值而非属性的Key find 返回标签列表nameimport re

re.compile(‘b’) 查找特定字母开头的内容 属于name参数

正则表达 式

第六单元 爬取中国大学排名tbody是整个爬取主体 是tr集合

tr是每个大学的信息主体 有三个 td

td 是每个信息主体的组成

td.string即使要提取的信息

import bs4

fillUnivList(ulist,html)

soup = BeautiutifulSoup4(html,”html.parser”)

for tr in soup.find(‘tbody’).children #遍历tbodybiaoqian中每个节点

​ if isinstance(tr,bs4.element.Tag): #过滤字符串节点

​ tds = tr(‘td’) #将tr标签里的td标签取出放入tds列表

ulist.append([tds[0].string,tds[1].string],tds[2].string) # 提取出string元素,三个一组 放入列表

中文排版问题采用中文空格填充chr(12288)tplt(模板) =“{0:^10}t{1:{3}^10}t{2:^10}”

print(tplt.format(“排名””学校名称””总分””chr(12288)”))

转载地址:http://bdyzo.baihongyu.com/

你可能感兴趣的文章
第二周总结
查看>>
概率图模型建模、学习、推理资料总结
查看>>
【转】知道这20个正则表达式,能让你少写1,000行代码
查看>>
自定义 启动和关闭 oracle 的命令
查看>>
SQLite数据库、ListView控件的使用
查看>>
Quartz
查看>>
正则表达式介绍
查看>>
初识Scala反射
查看>>
第三十九天
查看>>
Redis详解
查看>>
论程序员加班的害处
查看>>
codeblocks快捷键
查看>>
基于HTML5的WebGL设计汉诺塔3D游戏
查看>>
WPF资料链接
查看>>
过滤DataTable表中的重复数据
查看>>
Oracle数据库-trunc函数的用法
查看>>
prepare for travel 旅行准备
查看>>
再次更新
查看>>
iOS开发代理(委托)模式详解
查看>>
微服务学习笔记二:Eureka服务注册发现
查看>>