strip4代码(strip的中文)

http://www.itjxue.com  2023-01-28 11:32  来源:未知  点击次数: 

什么是对中国大学进行排名的爬窗系统

本教程主要参考中国大学慕课的 Python 网络爬虫与信息提取,为个人学习笔记。

在学习过程中遇到了一些问题,都手动记录并且修改更正,保证所有的代码为有效。且结合其他的博客总结了一些常见问题的解决方式。

本教程不商用,仅为学习参考使用。如需转载,请联系本人。

Reference

爬虫 MOOC

数据分析 MOOC

廖雪峰老师的 Python 教程

功能描述

输入:大学排名URL链接

输出:大学排名信息的屏幕输出(排名,大学名称,总分)

技术路线:requests‐bs4

定向爬虫:仅对输入 URL 进行爬取,不扩展爬取

定向爬虫可行性

1.确定要爬取的信息是否写在 HTML 的页面代码中

2.没有 robots 协议,即没有爬虫的限制

程序的结构设计

步骤1:从网络上获取大学排名网页内容 getHTMLText()

步骤2:提取网页内容中信息到合适的数据结构 fillUnivList()

步骤3:利用数据结构展示并输出结果 printUnivList()

程序编写

先使用异常处理形式爬取网站,修改编码并返回 url 的内容。(requests)

然后找到 tbody 标签,在tbody孩子标签中挨个检索 tr(for循环),如果类型和 tag 一致,则查找 tr 中的 td 标签,以二维列表的数据结构存储信息 [[“1”, “清华大学”, “北京”], [“2”, “北京大学”, “北京”], …]。(BeautifulSoup)

新版的排名的大学名字封装在 a 标签中,所以这里需要具体到查找属性为 ‘name-cn’ 的 a 标签并存储其字符串,即大学的中文名称。相应代码只需要做细微修改即可

最后格式化输出信息。

格式化输出回顾:

源代码

import requests

from bs4 import BeautifulSoup

import bs4

def getHTMLText(url):

try:

r = requests.get(url, timeout=30)

r.raise_for_status()

r.encoding = r.apparent_encoding

return r.text

except:

return ""

def fillUnivList(ulist, html):

soup = BeautifulSoup(html, "html.parser")

for tr in soup.find('tbody').children: #先检索到tbody标签

if isinstance(tr, bs4.element.Tag):

tds = tr('td') #查询tr中的td标签,等价于tr.find_all('td')

# 新版的排名封装在a标签中,所以这里需要具体到查找属性为'name-cn'的a标签并存储其字符串,即大学的中文名称

a = tr('a','name-cn')

ulist.append([tds[0].string.strip(),a[0].string.strip(),tds[2].text.strip(),tds[4].string.strip()]) # 使用二维列表存储信息

def printUnivList(ulist, num):

print("{:^10}\t{:^6}\t{:^10}".format("排名","学校名称","总分")) #取10/6/10位中间对齐

for i in range(num):

u = ulist[i]

print("{:^10}\t{:^6}\t{:^10}".format(u[0], u[1], u[3]))

def main():

uinfo = []

url = ""

html = getHTMLText(url)

fillUnivList(uinfo, html)

printUnivList(uinfo, 20) # 20 univ

main()

登录后复制

?

程序优化

中文对齐问题的原因:

当中文字符宽度不够时,采用西文字符填充;中西文字符占用宽度不同。

中文对齐问题的解决:

采用中文字符的空格填充 chr(12288)

def printUnivList(ulist, num):

tplt = "{0:^10}\t{1:{3}^10}\t{2:^10}"

# {3}表示需要填充时使用format的第三个变量进行填充,即使用中文空格

print(tplt.format("排名", "学校名称", "总分", chr(12288)))

for i in range(num):

u = ulist[i]

print(tplt.format(u[0], u[1], u[3], chr(12288)))

登录后复制

优化后的程序如下:

# -*- coding:utf-8 -*-

import requests

from bs4 import BeautifulSoup

import bs4

def getHTMLText(url):

try:

r = requests.get(url, timeout=30)

r.raise_for_status()

r.encoding = r.apparent_encoding

return r.text

except:

return ""

def fillUnivList(ulist, html):

soup = BeautifulSoup(html, "html.parser")

for tr in soup.find('tbody').children: # 先检索到tbody标签

if isinstance(tr, bs4.element.Tag):

tds = tr('td') # 查询tr中的td标签,等价于tr.find_all('td')

# 新版的排名封装在a标签中,所以这里需要具体到查找属性为'name-cn'的a标签并存储其字符串,即大学的中文名称

a = tr('a','name-cn')

ulist.append([tds[0].string.strip(),a[0].string.strip(),tds[2].text.strip(),tds[4].string.strip()]) # 使用二维列表存储信息

def printUnivList(ulist, num):

tplt = "{0:^10}\t{1:{4}^10}\t{2:^10}\t{3:^10}"

# {3}表示需要填充时使用format的第三个变量进行填充,即使用中文空格

print(tplt.format("排名", "学校名称", "地区", "总分", chr(12288)))

for i in range(num):

u = ulist[i]

print(tplt.format(u[0], u[1], u[2], u[3], chr(12288)))

def main():

uinfo = []

url = ""

html = getHTMLText(url)

fillUnivList(uinfo, html)

printUnivList(uinfo, 20) # 20 univ

if __name__ == "__main__":

main()

登录后复制

?

总结

采用 requests‐bs4 路线实现了中国大学排名定向爬虫。

对中英文混排输出问题进行优化。

爬虫

python

数据挖掘

https

html

仙侠问道手机游戏

精选推荐

?广告

?

中国大学排名的爬虫实战

1014阅读·0评论·0点赞

2022年1月24日

Python 爬虫-2020年中国大学排名

469阅读·5评论·1点赞

2020年9月13日

爬取大学排名信息实验报告

143阅读·0评论·0点赞

2022年10月23日

Python爬虫(一)—— 中国大学排名

6382阅读·11评论·11点赞

2022年4月2日

【Python爬虫】爬取2022软科全国大学排行榜

3115阅读·6评论·7点赞

2022年7月3日

【爬虫实战】5Python网络爬虫——中国大学排名定向爬虫

595阅读·3评论·5点赞

2021年1月17日

升级快的传奇手游

?

精选推荐

?广告

Python练习-爬虫(附加爬取中国大学排名)

3539阅读·5评论·4点赞

2022年1月6日

【网络爬虫】爬取中国大学排名网站上的排名信息,将排名前20的大学的信息保存为文本文件并在窗口打印的python程序

1445阅读·1评论·4点赞

2022年1月26日

2.python爬虫实战:爬取近5年的中国大学排行榜信息【Python】(测试代码+api例程)

865阅读·0评论·1点赞

2022年5月19日

python爬虫案例典型:爬取大学排名(亲测有效)

2369阅读·0评论·5点赞

2022年6月12日

python爬虫 2021中国大学排名定向爬虫

5729阅读·8评论·26点赞

2021年4月28日

Python网络爬虫实例——“中国最好大学排名爬取”(嵩天:北理工大学)学习笔记

6217阅读·1评论·13点赞

2019年3月20日

最新2022中国大学排名发布!

216阅读·0评论·0点赞

2022年2月22日

python爬虫分析大学排名_Python爬虫之爬取中国大学排名(BeautifulSoup库)

1342阅读·0评论·2点赞

2021年2月4日

python实例,python网络爬虫爬取大学排名!

1931阅读·0评论·2点赞

2018年11月20日

学习笔记:中国大学排名定向爬虫

5171阅读·4评论·5点赞

2021年12月23日

【爬虫】爬取大学排名信息

252阅读·0评论·0点赞

2022年10月6日

网络爬虫爬取中国大学排名,并存入数据库

573阅读·0评论·1点赞

2019年9月21日

Python3爬虫爬取中国大学排名数据并写入MySQL数据库

2272阅读·0评论·2点赞

2018年10月17日

python网络爬虫与信息提取-04-爬取某大学排名网站的排名数据

334阅读·0评论·0点赞

2020年1月19日

去首页

看看更多热门内容

评论18

?

weixin_48444032

?

1

为什么只能最多获取到30条?怎么修改??

2022.04.26

?

qq_56912992

?

如果想把数据保存到excel具体应该怎么改呢

2022.12.03

?

qq_56912992

?

你好我想多获取到办学资源那一列数据,但是为什么我添加了tds[5].string.strip()],后面的format也改了,但是只出现列头的”办学资源“文字,却不出现相应的数字数据呢,求解答!!

python 4-6 如何去掉字符串中不需要的字符strip'

方法一,字符串strip()

lstrip()

rstrip()

去掉字符串两端字符

方法二,删除单个位置的字符,可以使用切片

+

拼接的方式

方法三,字符串的replace()方法或者正则表达式re.sub删除任意位置字符

方法四,字符串translate方法,可以同时删除多种不同的字符

控件相对窗体的位置 C#

思路没错啊!

但这里不用Anchor属性,看了你的例子才知道是你的Lable上显赫文字多了,Lable就变长了,这样你看起来它就集团不一样了!

把下面statusStrip的那几个会变化长度的Lable的AutoSize属性设为False并把它们的长度调合适就行了,不然小于要显示的字符时,就看不到了!

strip是什么意思

strip1 [strip]

vt.

1. 把…的皮剥去(或除去);剥光…的外皮:

He stripped an orange of its rind for me.

他为我剥去了橘子皮。

He stripped a tree with his sabre.

他用马刀刮去树皮。

2. 剥去,除去:

to strip the bark from a tree

剥掉树皮

3. 脱掉;脱去…的衣服:

to strip one's overcoat

脱掉大衣

to strip oneself to take a bath

脱光衣服洗澡

4. 取掉,拿走;搬走:

to strip the sheet from the bed

从床上撤去床单

to strip a desk

搬走书桌

5. 拆除,卸掉:

to strip a ship of rigging

卸去船上的索具

6. 腾空,搬光:

His house was stripped.

他的房子被搬得精光。

to strip a drawer of its contents

把抽屉腾空

7. 剥夺,夺去,使丧失:

to strip a tree of its fruit

把树上的果子摘光

The robber stripped him of money.

拦路劫匪把他的钱抢走了。

8. 拆开,拆散:

My son stripped my watch and couldn't assemble it.

我儿子把我的手表拆散后组装不起来了。

9. 【机械学】拆断(齿轮)的齿;使(螺杆、螺母等的)螺纹磨损:

Change another gear,it has been stripped.

换个齿轮吧,有个齿断掉了。

10. 抽去(烟叶)的梗

11. 除去…的无用细节,使(文章)精练:

Your article will be stripped and will be convincing if you strike off your critiques.

如果你能删去文章中的评论,你的文章就会变得既精练又具说服力了。

12. 使(…的混合成分)分离出来:

to strip impurities out of water

把水中的杂质分离出来

13. 挤净(牛)的奶;挤(奶)

14. 挤出(鱼)的卵(或精液)

15. 【采矿】除去(矿藏)的表层土,使露出(矿藏);露天开采(矿石)

vi.

1. 剥皮,去皮;(表皮、壳等)剥落,脱落:

The wall has stripped.

墙皮都已脱落了。

2. 脱衣;脱光衣服:

to strip for a bath

脱衣洗澡

3. 表演脱衣舞

4. (齿轮的齿等)折断;(螺母、螺栓的螺纹等)磨损;(子弹出膛时因表面磨损而)不旋转

adj.

1. 脱衣舞的

2. 以脱衣舞招徕顾客的

n.

1. = striptease

2. 抽掉中梗和大叶梗的烟叶

3. [用复数]最后挤干的奶

近义词:

bare . denude . dismantle . divest .

变形:

vt.stripped 或 striptstripping

strip2 [strip]

n.

1. (布、纸、金属等的)条,狭条;带,带状物

2. 带状地带(或森林、湖面等)

3. 简易跑道,简易机场

4.

(尤指公路沿线的)商业开发区

[有时作 S-]沿街商店、餐厅和酒吧密集的街道

5. (报刊等上的)连环漫画;航拍、条幅式侦察照片

6. = strip chart

7. [口语][总称](尤指足球队员穿的)彩条球衣

8. [英国英语]【采矿】捣矿机排矿沉淀槽

9. [美国英语]减重短程高速汽车跑道(或赛场)

10. (美国缅因州的)地方行政小区

11. 【集邮】(三张以上的)连票

12. 【印刷】(尤指制作照相铜版的)拼接版

13. 【航空学】简易跑道,简易机场

vt.

1. 把…剪(或撕)成条状(或带状);把…切成细条:

to strip the meat

把这块肉切成细条

2. 【印刷】

把(底片)拼接制版

(装订时)把布条(或纸条)贴在(书面等)上

3. 在电视上播放(连续剧)

变形:

vt.strippedstripping

strip [strip]

n.

1. a relatively long narrow piece of something

he felt a flat strip of muscle

2. artifact consisting of a narrow flat piece of material

3. an airfield without normal airport facilities

4. a sequence of drawings telling a story in a newspaper or comic book

5. thin piece of wood or metal

6. a form of erotic entertainment in which a dancer gradually undresses to music

she did a strip right in front of everyone

v.

1. take away possessions from someone

The Nazis stripped the Jews of all their assets

2. get undressed

She strips in front of strangers every night for a living

3. remove the surface from

strip wood

4. remove substances from by a percolating liquid

5. lay bare

6. steal goods; take as spoils

7. remove all contents or possession from, or empty completely

8. strip the cured leaves from

strip tobacco

9. remove the thread (of screws)

10. remove a constituent from a liquid

11. take off or remove

strip a wall of its wallpaper

12. draw the last milk (of cows)

13. remove (someone's or one's own) clothes

以上来源于: WordNet

python.name是什么选择器

基本选择器。

扩展资料:

name选择器_CSS选择器,属性相关

1.1.列举字符串,列表,元组,字典每个常用的五个方法

str:切片,下标,+拼接,in,not in,count计数,endswith以什么结尾,startswith以什么开始,

find检查字符是否在源字符串中,isdigit只包含数字,isalnum数字和字母,upper大写,lower小写,

title首字母大写,isupper是否大写,len多少位,replace替换,strip,rstrip,lstrip删除空格,

list:append,del,delete,insert,+,*,切片,下标,嵌套list[1][0],len,max,min,count,pop,

remove,clear,copy,reverse反转,sort排序,list转化

tuple:add,type,del删除整个元组,len,+,*,in,not in,切片,max,min,tuple转化

dict:dict['key']访问value值修改value值,get,len,str,type,pop

2.描述下列常见内置函数的作用可用代码说明map,zip,filter,sorted,reduce

map:会根据提供的函数对指定序列做映射。

先定义一个pow函数,return x ** 2

In [5]: list(map(lambda x: pow(x,2),list(range(5))))

Out[5]: [0, 1, 4, 9, 16]

sorted:与lambda将list的数按照lambda定义的的key值排序

#一个整数列表,要求按照列表中元素的绝对值大小升序排列

In [18]: list1 = [3,5,-4,-1,0,-2,-6]

...: sorted(list1, key=lambda x: abs(x))

...:

Out[18]: [0, -1, -2, 3, -4, 5, -6]

filter(func,seqs):寻找满足条件的

# list1 = [3,5,-4,-1,0,-2,-6]

In [25]: list(filter(lambda x:x 0,list1))

Out[25]: [3, 5]

reduce(function,seqs)依次对容器内所有元素进行操作,比如相加

#其中reduce函数是python中的一个二元内建函数,它可以通过传给reduce中的函数(必须是二元函数)

#**依次**对数据集中的数据进行操作。例如传给reduce的函数是做加法,数据集是list1,那么reduce

#函数的作用就是将数据集中的数据依次相加

# list1 = [3,5,-4,-1,0,-2,-6]

In [30]: reduce(lambda x,y:x+y,list1)

Out[30]: -5

zip:反转打包解包

list1 = [1,2,3,4]

list2 = ["a","b","c","d"]

zipobj1 = zip(list1,list2)

print(dict(zipobj1)) # {1: 'a', 2: 'b', 3: 'c', 4: 'd'}

list3 = [1,2,3,4]

list4 = ["a","b","c","d"]

list5 = ["a2","b2","c2"]

zipobj2 = zip(list3,list4,list5)

print(list(zipobj2)) # [(1, 'a', 'a2'), (2, 'b', 'b2'), (3, 'c', 'c2')]

3.列举你所知道的面相对象中的__开头__结尾的方法及作用,越多越好

__init__,__str__打印对象,__del__,__name__名字,__dict__打印对象的属性k,v形式,

__class__返回一个类的实例,__call__最高级调用,__new__创建新对象

4.写出form标签几个关键性的属性及作用

method属性:规定用于发送 form-data 的 HTTP 方法。实际上就是请求的方式。

name属性:表单的名称。

action属性:指定表单请求的路径

target属性:指定action的Url在哪里打开

enctype: 指定数据的编码格式

5.列举你所知道的css选择器

1.基本选择器:通用,标签,id ‘#’,class ‘.’

2.组合选择器:后代'空格' ,子元素‘’,毗邻 ‘+’,弟弟 ‘~’

3.属性选择器:[username],[username='111'],input[username='111']

4.分组和嵌套选择器:分组‘,’逗号表示并列关系,嵌套‘空格’

5.伪元素选择器:p:first-letter,p:after,p:before

6.伪类选择器:书写顺序:link visited hover/active

点击前,点击后,悬浮/点击时

内容详细

CSS

层叠样式表:就是给HTML标签添加样式的,让它变的更加的好看

# 注释

CSS选择器

基本选择器

组合选择器

属性选择器

分组与嵌套

伪类选择器

伪元素选择器

first

选择器优先级

"""

css属性相关

字体属性

当你想要一些颜色的时候

文字属性

text

背景图片

边框

display属性

display

盒子模型

盒子模型

浮动

浮动的元素

小总结:

# 注释

/**/ 由于前端代码都笔记多并且没有什么规律 所以我们都会利用注释来帮助我们维护代码

# 语法结构

选择器 {

属性1:值;

属性2:值;

属性3:值;

}

# 选择器

1.基本选择器

id选择器

#d1 {}

类选择器

.c1 {}

标签选择器

div {}

通用选择器

* {}

p#d1.c1

emmet插件

2.组合选择器

我们将前端标签的嵌套定义为父亲 儿子 后代 兄弟等等关系

后代选择器

div p {} 只要是div内部的p都拿到

儿子选择器

divp {} 只拿内部第一层级的p

毗邻选择器

div+p {} 紧挨着我的同级下一个

弟弟选择器

div~p {} 同级别下面所有的p

3.属性选择器 []

[username]

[username='jason']

input[username='jason']

ps:标签既可以有默认的书写 id class...

还可以有自定义的书写并且支持多个

逻辑中关于字符串函数有哪些呢?

函数有很多,比如字符串拼接函数,分割函数,打乱函数等。

1.确保堆栈上至少有 n 个额外空位。?如果不能把堆栈扩展到相应的尺寸,函数返回假。 失败的原因包括将把栈扩展到比固定最大尺寸还大 (至少是几千个元素)或分配内存失败。 这个函数永远不会缩小堆栈; 如果堆栈已经比需要的大了,那么就保持原样。

2.销毁指定 Lua 状态机中的所有对象 (如果有垃圾收集相关的元方法的话,会调用它们), 并且释放状态机中使用的所有动态内存。 在一些平台上,你可以不必调用这个函数, 因为当宿主程序结束的时候,所有的资源就自然被释放掉了。 另一方面,长期运行的程序,比如一个后台程序或是一个网站服务器, 会创建出多个 Lua 状态机。那么就应该在不需要时赶紧关闭它们。

比较两个 Lua 值。 当索引 index1 处的值通过 op 和索引 index2 处的值做比较后条件满足,函数返回 1 。 这个函数遵循 Lua 对应的操作规则(即有可能触发元方法)。 反之,函数返回 0。 当任何一个索引无效时,函数也会返回 0 。

op 值必须是下列常量中的一个:

LUA_OPEQ: 相等比较 (==)

LUA_OPLT: 小于比较 ()

LUA_OPLE: 小于等于比较 (=)

3.连接栈顶的 n 个值, 然后将这些值出栈,并把结果放在栈顶。 如果 n 为 1 ,结果就是那个值放在栈上(即,函数什么都不做); 如果 n 为 0 ,结果是一个空串。 连接依照 Lua 中通常语义完成()。

从索引 fromidx 处复制一个值到一个有效索引 toidx 处,覆盖那里的原有值。 不会影响其它位置的值。

void l ua_createtable (lua_State *L, int narr, int nrec);

4.创建一张新的空表压栈。 参数 narr 建议了这张表作为序列使用时会有多少个元素;?参数 nrec 建议了这张表可能拥有多少序列之外的元素。 Lua 会使用这些建议来预分配这张新表。 如果你知道这张表用途的更多信息,预分配可以提高性能。 否则,你可以使用函数

int lu a_dump (lua_State *L,

lua_Writer writer,

void *data,

int strip);

把函数导出成二进制代码块 。 函数接收栈顶的 Lu a 函数做参数, 然后生成它的二进制代码块。 若被导出的东西被再次加载, 加载的结果就相当于原来的函数。 当它在产生代码块的时候, lua_dump 通过调用函数 writer (r ) 来写入数据,后面的 data 参数会被传入 writer 。

5.如果 strip 为真, 二进制代码块将不包含该函数的调试信息。

最后一次由 writer 的返回值将作为这个函数的返回值返回; 0 表示没有错误。

该函数不会把 Lua 函数弹出堆栈。

希望能帮到你,谢谢!

(责任编辑:IT教学网)

更多

推荐数据库文章