部落格不夠,日常來湊!haha,真的兩個週都沒有更新過文章了[愧疚]
前兩天看到一句話講,只要精神上滿足,身體的疲憊算不上什麼。我好像真的達不到這個境界。為期半個多月的感冒真的讓我變懶散了好多,不過還好,感覺終於可以告一段落了。昨天終於好好的著手去寫趙老師留給我的作業[超怕過期的說]
學了一丟丟python,然後接收到了乙份超「簡單」的作業。
任務就是根據這個url鏈結內容的提示去爬取班級課表。現在真的是覺得超級簡單的,可是我真的是展開了3小時+的拉鋸戰[枯萎]……這個有點zz的過程就不記了。還是直接放結果吧
import requests
from bs4 import beautifulsoup
mat=[[,,,,,,],[,,,,,,],[,,,
,,,],[,,,,,,],[,,,,,,],[,,,,,,]]
#儲存課表資訊
defgethtmltext
(url,sk0,school,colle,cla):
#根據班級資訊獲取課表內容
kv=try:
r=requests.get(url,params=kv,timeout=30)
#print(r.url)
r.raise_for_status()
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 rstring
defgetmat
(str1):
#處理課表內容,將課表資訊對應存入mat列表
length=len(str1)
i=0#一天中的第幾節課
j=0#週幾 k=0
#代表每節課的屬性
count=0
#迴圈在字串中的位置
namestr=""
#字串flag=false
while i<6:
j=0while 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)
flag=false
i=i+1
return mat
defprint
():#按照簡單對齊格式輸出課表
tplt="^25}\t^25}\t^25}\t^25}\t^25}\t"
print(tplt.format("星期一","星期二","星期三","星期四","星期五",chr(12288)))
print('')
#tplt="^18}\t^18}\t^18}\t^18}\t^18}\t"
#tplt="\t\t\t\t\t"
#print(tplt.format("星期一","星期二","星期三","星期四","星期五")
#tplt1="\t"
tplt1="^25}\t"
i=0#一天中的第幾節課
j=0#週幾 k=0
#每節課的屬性(共八個)
while i<6:
k=0while k<8:
j=0while 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+1
defmain
(): url=""
sk0="21bb8c16c004875533da307e831d41b7"
school=0
colle="計"
cla="153-2"
str=gethtmltext(url,sk0,school,colle,cla)
str1=""
for i in str:
if i=='':
continue
else:
str1=str1+i
getmat(str1)
print()
main()
我真的超認真的說我超認真的,然後最後輸出的課表是這樣式的:
自我安慰還可以吧……其實是就這樣吧……這是我的特長,就是不論寫什麼都是**特長………………
然後是真的這個題目超簡單的![敲黑板]
我定義了兩個函式處理獲取到的課表內容字串+**特長,真的是暴力處理字串,中間還不小心寫過乙個死迴圈……
然後趙老師驗收作業的時候,告訴了我這個簡單的方法
import requests
import json
url = '/?sk=21bb8c16c004875533da307e831d41b7&xx=0&xy=%e8%ae%a1&bj=153-2'
#獲取課表內容的url鏈結
r=requests.get(url).json()
print(r)
然後真的好簡單
只需要這樣就可以獲得有關內容的字典,然後根據鍵就可以直接獲取到鍵值了。晴天霹靂,真的只是心疼我一分鐘嗎[shuai]
然後我好像又接收到了新的作業[強迫症症症]|
既然沒那麼有才那就有趣一點吧|
我真的要滿血復活了|
致謝友人|
|
工欲善其事必先利其器
裸機開發流程 1.編寫裸機程式 2.除錯裸機程式 3.生成2進製映像 編譯 鏈結 格式轉換 4.燒寫 執行2進製映像。嵌入式開發模型 交叉開發常用交叉工具 1 交叉編譯器,arm linux gcc 2 交叉鏈結器,arm linux ld 3 交叉轉換器,arm linux readelf 4 交...
工欲善其事,必先利其器
如何做好乙個答辯ppt?最為重要的是,不要照搬網上那些所謂的模板,不要用模板,不要用模板。你覺得模板很酷炫還是很大氣?所謂的模板醜不醜不說,很有可能不適合你要表達的東西,填鴨式的ppt是很糟糕的。去改動別人的ppt模板,來適應自己所要表達的內容,所花費的時間完全夠你做乙個ppt了。另外,報告用ppt...
工欲善其事,必先利其器
古人云 工欲善其事,必先利其器.乙個好的開發者 程式設計師 要提高開發效率,就要會使用一些好的開發工具,會搭建好工作環境.現在的開發工具好多好多,比如開源的 現在很火熱的 eclipse,idea,netbeans,jcreator,wstd,websphere studio,jbuilder,my...