import reret=re.findall(r"\d+","1-2*(60+(-40.35/5)-(-4*3))")print(ret)ret=re.findall(r"\d+\.\d+|(\d+)","1-2*(60+(-40.35/5)-(-4*3))") #對於浮點數,可以匹配,但是因為分組的存在,顯示的是''ret.remove('')print(ret)# # 有的時候 不想要的內容需要被匹配出來# # 因為你不想要的東西包含著你想要的東西#這個道理,適用於下面的爬蟲,#擷取你需要的資訊,#通過周圍資訊的特點,定位到你需要資訊的位置,
#一個爬蟲的小例子,import refrom urllib.request import urlopendef getPage(url): #參數為網址 response = urlopen(url) #開啟網址, return response.read().decode('utf-8') #擷取網址的代碼,預設是bytes的形式,所以需要我們編碼為utf-8def parsePage(s): com = re.compile( #對我們需要爬取資訊的特點,進行描述,並通過分組的方式擷取其中的資訊, '<div class="item">.*?<div class="pic">.*?<em .*?>(?P<id>\d+).*?<span class="title">(?P<title>.*?)</span>' '.*?<span class="rating_num" .*?>(?P<rating_num>.*?)</span>.*?<span>(?P<comment_num>.*?)評價</span>', re.S) ret = com.finditer(s) for i in ret: # yield i yield { #我們這裡是一個產生器, "id": i.group("id"), "title": i.group("title"), "rating_num": i.group("rating_num"), "comment_num": i.group("comment_num"), }def main(num): url = 'https://movie.douban.com/top250?start=%s&filter=' % num response_html = getPage(url) ret = parsePage(response_html) print(ret) #列印結果:<generator object parsePage at 0x000001FD417288E0> f = open("move_info7", "w", encoding="utf8") for obj in ret: print(obj) data = str(obj) f.write(data + "\n") f.close()if __name__ == '__main__': count = 0 for i in range(2): main(count) #網站預設一頁顯示25條記錄,我們這裡的值影響的是從第幾條開始顯示, count += 25 #比如1-25與3-27的區別,
# B/S# 統一了所有應用的入口# 手機端 為什麼B/S沒火起來,因為顯示效果還有待改善,# C/S 架構 幾乎包含了所有網路開發的架構形態# B/S 架構 也是C/S架構,為什麼這麼說?你可以這樣理解,瀏覽器是一個特殊的用戶端,即B/S 架構中的client都是browser瀏覽器# django tornado flask B/S 架構軟體開發# 8位 2進位,知道為什麼位元組是8位嗎?因為最初的時候,8位正好夠表達英文符號,數字以及特殊符號,這大概也是為什麼我們在上層需要進行encode編碼的原因吧?# ip地址代表了你在整個網路中哪一個小網路,mac地址地址幫你確定你在這個小網路中哪台裝置,