“工欲善其事 必先利其器”
来源:互联网 发布:淘宝上筒子钱真假 编辑:程序博客网 时间:2024/06/05 10:42
博客不够,日常来凑!haha,真的两个周都没有更新过文章了[愧疚]
前两天看到一句话讲,只要精神上满足,身体的疲惫算不上什么。我好像真的达不到这个境界。为期半个多月的感冒真的让我变懒散了好多,不过还好,感觉终于可以告一段落了。昨天终于好好的着手去写赵老师留给我的作业[超怕过期的说]
学了一丢丢Python,然后接收到了一份超“简单”的作业。
https://api.mayuko.cn/!13#
任务就是根据这个URL链接内容的提示去爬取班级课表。现在真的是觉得超级简单的,可是我真的是展开了3小时+的拉锯战[枯萎]……这个有点zz的过程就不记了。还是直接放结果吧
import requestsfrom bs4 import BeautifulSoupmat=[[[],[],[],[],[],[],[]],[[],[],[],[],[],[],[]],[[],[],[],[],[],[],[]],[[],[],[],[],[],[],[]],[[],[],[],[],[],[],[]],[[],[],[],[],[],[],[]]]#存储课表信息def getHTMLtext(url,sk0,school,colle,cla): #根据班级信息获取课表内容 kv={'sk':sk0,'xx':school,'xy':colle,'bj':cla} try: r=requests.get(url,params=kv,timeout=30) #print(r.url) r.raise_for_status() r.encoding=r.apparent_encoding return r.text except: return ""def strB2Q(ustring): """半角转全角""" rstring = "" for uchar in ustring: inside_code=ord(uchar) if inside_code == 32: #半角空格直接转化 inside_code = 12288 elif inside_code >= 32 and inside_code <= 126: #半角字符(除空格)根据关系转化 inside_code += 65248 rstring += chr(inside_code) return rstringdef getMat(str1): #处理课表内容,将课表信息对应存入mat列表 length=len(str1) i=0 #一天中的第几节课 j=0 #周几 k=0 #代表每节课的属性 count=0 #循环在字符串中的位置 namestr="" #字符串 flag=False while i<6: j=0 while j<14: num=0 while str1[count]!='"': count=count+1 count=count+1 namestr="" while str1[count]!='"': namestr=namestr+str1[count] count=count+1 count=count+1 if namestr=="kbName" or namestr=="kbTeacher" or namestr=="kbAddr" or namestr=="kbWeek": flag=True if namestr=="kbName": j=j+1 elif flag==True: namestr=namestr.encode('utf-8') namestr=namestr.decode('unicode-escape') namestr=strB2Q(namestr) mat[i][(j-1)//2].append(namestr) flag=False i=i+1 return matdef Print(): #按照简单对齐格式输出课表 tplt="{0:{5}^25}\t{1:{5}^25}\t{2:{5}^25}\t{3:{5}^25}\t{4:{5}^25}\t" print(tplt.format("星期一","星期二","星期三","星期四","星期五",chr(12288))) print('') #tplt="{0:{5}^18}\t{1:{5}^18}\t{2:{5}^18}\t{3:{5}^18}\t{4:{5}^18}\t" #tplt="{0:^30}\t{1:^30}\t{2:^30}\t{3:^30}\t{4:^30}\t" #print(tplt.format("星期一","星期二","星期三","星期四","星期五") #tplt1="{0:^30}\t" tplt1="{0:{1}^25}\t" i=0 #一天中的第几节课 j=0 #周几 k=0 #每节课的属性(共八个) while i<6: k=0 while k<8: j=0 while j<5: leng=len(mat[i][j]) if k>=leng: print(tplt1.format("",chr(12288)),end="") else: print(tplt1.format(mat[i][j][k],chr(12288)),end="") j=j+1 k=k+1 print('') i=i+1def main(): url="https://api.mayuko.cn/v2/ytukb" sk0="21bb8c16c004875533da307e831d41b7" school=0 colle="计" cla="153-2" str=getHTMLtext(url,sk0,school,colle,cla) str1="" for i in str: if i=='{' or i=='}': continue else: str1=str1+i getMat(str1) Print()main()
我真的超认真的说我超认真的,然后最后输出的课表是这样式的:
自我安慰还可以吧……其实是就这样吧……这是我的特长,就是不论写什么都是代码特长………………
然后是真的这个题目超简单的![敲黑板]
我定义了两个函数处理获取到的课表内容字符串+代码特长,真的是暴力处理字符串,中间还不小心写过一个死循环……
然后赵老师验收作业的时候,告诉了我这个简单的方法
import requestsimport jsonurl = 'https://api.mayuko.cn/v2/ytukb/?sk=21bb8c16c004875533da307e831d41b7&xx=0&xy=%E8%AE%A1&bj=153-2'#获取课表内容的URL链接r=requests.get(url).json()print(r)
然后真的好简单
只需要这样就可以获得有关内容的字典,然后根据键就可以直接获取到键值了。晴天霹雳,真的只是心疼我一分钟吗[shuai]
然后我好像又接收到了新的作业[强迫症症症]|
既然没那么有才那就有趣一点吧|
我真的要满血复活了|
致谢友人|
|
阅读全文
2 0
- 工欲善其事,必先利其器
- 工欲善其事,必先利其器
- 工欲善其事,必先利其器
- 工欲善其事,必先利其器.
- 工欲善其事,必先利其器
- 工欲善其事, 必先利其器
- 工欲善其事,必先利其器
- 工欲善其事 必先利其器
- 工欲善其事,必先利其器
- 工欲善其事,必先利其器
- 工欲善其事,必先利其器
- 工欲善其事,必先利其器
- 工欲善其事 必先利其器
- 工欲善其事,必先利其器
- 工欲善其事,必先利其器
- 工欲善其事,必先利其器
- 工欲善其事,必先利其器。。。
- 工欲善其事,必先利其器
- Synchronized和线程安全
- 移动端focus事件失效问题
- Git可视化教程——Git Gui的使用
- 2017/9/22工作总结
- java中的异常和IO流
- “工欲善其事 必先利其器”
- ubuntu踢掉已经登录的用户
- app集成支付宝,服务器生成请求签名字符串demo(PHP)
- js离开当前页面代码,调用方法
- SVN Update Error: Please execute the 'Cleanup' ,Cleanup时提示lock问题的解决方案
- 桥接模式(Bridge)
- 头文件和预编译指令
- javascript常见日期格式化方法
- Java += 操作符实质