中tr不能显示字符_BeautifulSoup4中find 和find_all的比较
BeautifulSoup4中find 和find_all分别有不同的含义,find返回的是TAG对象,只有一个值,可以直接使用属性例如,children。而find_all返回的是TAG对象的迭代对象,不能直接用TAG的属性,但是里面每个元素是TAG,可以用属性
import requests
from bs4 import BeautifulSoup
import bs4;
mytext=requests.get("http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html")
mytext.encoding="utf-8"
mysoup=BeautifulSoup(mytext.text)
t1=mysoup.find("td")
t2=mysoup.find_all("td")
print(type(t1))
print(type(t2))
#find返回的是TAG对象,只有一个值,可以直接使用属性例如,children
#而find_all返回的是TAG对象的迭代对象,不能直接用TAG的属性,但是里面每个元素是TAG,可以用属性
print(t1)
print(len(t2))
# t2=mysoup.find_all("td")
# for i in t2:
# print(i.string)
# for i in t1:
# if isinstance(i,bs4.element.Tag):
# x=i.find_all("td")
# print(len(x),end=" ")
# print(x[0].string,x[1].string,x[2].string,x[3].string,x[4].string)
1
7686
例题:查询大学排名的四种方法
import requests
from bs4 import BeautifulSoup
import bs4;
mytext=requests.get("http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html")
mytext.encoding="utf-8"
mysoup=BeautifulSoup(mytext.text)
#find返回的是TAG对象,只有一个值,可以直接使用属性例如,children
#而find_all返回的是TAG对象的迭代对象,不能直接用TAG的属性,但是里面每个元素是TAG,可以用属性
#方法一:find
print("---111"*30)
t1=mysoup.find("tbody").children
print(type(t1))
for i in t1:
if isinstance(i,bs4.element.Tag): #列表中TAG对象,有非TAG对象,是大量的空格
x=i.find_all("td") #表格中的一行
print(len(x),end=" ") #列表里面元素个数
print(x[0].string,x[1].string,x[2].string,x[3].string,x[4].string)
#方法二:find_all---1
print("---222"*30)
t2=mysoup.find_all("tbody")
print('mysoup.find_all("tbody")',type(t2),len(t2))
tt=t2[0] #取列表里面的第一个元素,是TAG,
print('mysoup.find_all("tbody")[0]',type(tt),len(tt))
for i in tt:
if isinstance(i, bs4.element.Tag): # 列表中TAG对象,有非TAG对象,是大量的空格
x = i.find_all("td") # 表格中的一行
print(len(x), end=" ") # 列表里面元素个数
print(x[0].string, x[1].string, x[2].string, x[3].string, x[4].string)
#方法三:find_all---2
print("---333"*30)
t2=mysoup.find_all("tbody")#网页的取表格
print('mysoup.find_all("tbody")',type(t2),len(t2))
tt=t2[0] #取列表里面的第一个元素,是TAG,取第一个表格
print('mysoup.find_all("tbody")[0]',type(tt),len(tt))
tt1=tt.find_all("tr")#取表格里面的所有行
for i in tt1:
j=i.find_all("td")#每行里面的素有列
for x in j:
print(x.string,end=" ")#每列数据输出
print()
#方法四:find,find_all
print("---444"*30)
t1=mysoup.find("tbody")#网页的第一个取表格
tt1=t1.find_all("tr")#取表格里面的所有行
for i in tt1:
j=i.find_all("td")#每行里面的素有列
for x in j:
print(x.string,end=" ")#每列数据输出
print()
print("-444-over"*10)
中tr不能显示字符_BeautifulSoup4中find 和find_all的比较相关推荐
- 中tr不能显示字符_垃圾文本识别中基本操作指南和错误总结,第三部分
创建模型需要用到机器学习的库,所以我们先下载sklearn库 sklearn库 下载完成后再输入库文件,就可以完美运行. 然后就是划分测试集和训练集,需要注意的是,在从数据处理函数中导入数据时,足足运 ...
- 《Python CookBook2》 第一章 文本 - 检查字符串中是否包含某字符集合中的字符 简化字符串的translate方法的使用...
检查字符串中是否包含某字符集合中的字符 任务: 检查字符串中是否出现了某个字符集合中的字符 解决方案: 方案一: import itertoolsdef containAny(seq,aset):f ...
- python判断字符串里的字符_Python检测字符串中是否包含某字符集合中的字符
目的 检测字符串中是否包含某字符集合中的字符 方法 最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器 def containAny(seq,aset): for c in seq: if c ...
- 为什么显示服务器升级中,手机老是显示服务器升级中
手机老是显示服务器升级中 内容精选 换一换 XEN实例变更为KVM实例前,需要确保Windows弹性云服务器已安装了PV driver和UVP VMTools.本节指导您安装PV driver和UVP ...
- vb.net中report不显示中文_Ubuntu中vi文本编辑器的使用
最近在使用ubuntu,对于一个已经熟悉centos下的vi编辑器来说,简直是太变态了,各种不习惯.下面给大家分享下Ubuntu下的vi编辑器详细用法. Ubuntu中vi文本编辑器的使用 :w !s ...
- sybase的sysprocesses中的hostname显示不全_Linux中Postfix邮件认证配置(五)
Postfix+Dovecot+Sasl工作原理 1.A用户使用MUA客户端借助smtp协议登陆smtpd服务器,需要先进行用户和密码认证,而SMTPD服务器端支持sasl认证,例如有一个sasl客户 ...
- linux中mysql不显示中文_linux中解决mysql中文乱码方法
改默认编码: /etc/init.d/mysql start (stop) 为启动和停止服务器 /etc/mysql/ 主要配置文件所在位置 my.cnf /var/lib/mysql/ 放置的是数据 ...
- python中print不显示结果_Python中的print()函数
本文为中国大学MOOC<Python语言程序设计>课程学习笔记,课程主讲:嵩天老师,练习平台:Python123,参考教材:<Python语言程序设计基础> print()函数 ...
- C#读取SQLsever数据库中的内容显示在textbox中
首先建立数据库的连接 然后写SQL语句确认需要获取的字段 string connStr = "server=.;database=MedicineCabinet;Integrated Sec ...
最新文章
- mysql的常用函数
- 学习ID,ClientID,UniqueID
- PPP协议的CHAP验证
- mysql 日期字符串互转
- jQuery轮 播的封装
- python爬去百度百科词条_python简单爬虫爬取百度百科python词条网页
- python剪刀石头布_如何用python写剪刀石头布
- 端口号及对应的服务汇总 (适用于Linux/Windows系统)
- 你选书我买单,包邮送55本!ggplot2、R语言、Python任意什么书都可以!
- linux的基本的命令行操作
- IE8升级IE11失败原因整理
- android 给apk下载地址,Android 7.0适配 APK文件下载及安装问题(FileProvider)
- 前端基础——html5新增标签
- 云知声开源全栈语音交互方案
- 20155325 Exp4 恶意代码分析
- 总线揭密:串行传输VS并行传输
- android 动态修改dns,如何修改android手机上网DNS
- sweetalert弹框插架--自定义多按钮事件
- 【点云3D目标检测】跑通CIA-SSD过程中的一些报错集锦
- 喊苦喊累的程序员们,看看日本人是怎么加班的。
热门文章
- 美多商城之用户注册(展示用户注册页面)
- 解决 python pip install安装速度慢| 版本低|跨过个别错误包
- Linux里新建文件/目录的默认权限
- 百越杯 Reverse (crazy write up)
- Mars说光场(4)— 光场显示
- pytest文档21-pytest-html报告优化(nodeid中文显示[\u6350\u52a9\u6211\u4eec]问题解决)
- 九、将cs文件快速的转换成可执行文件和响应文件(配置编译开关的文件)
- PO、VO、FormBean的思考
- Oracle表空间管理
- mac 下如何使用lrzsz 上传下载文件