RE模块 正则表达式
发布时间:2020-12-14 06:12:57 所属栏目:百科 来源:网络整理
导读:行走的路上,似乎会有几分落寞,无奈。但只要你行走在自己心的路途中,一切便无悔。 day 23 # # ------------------------------------------------------------------------------------------------------------# 今日主要内容 1. 正则表达式 元字符 . 除
行走的路上,似乎会有几分落寞,无奈。但只要你行走在自己心的路途中,一切便无悔。
import re # # ------------------------------------------------------------------------------------------------------------# from urllib.request import urlopenimport re# url = "https://www.dytt8.net/html/gndy/dyzz/20181114/57791.html"# url2 = "https://movie.douban.com/top250?start=50&filter="# content = urlopen(url).read().decode("gbk")# content = urlopen(url).read().decode("utf-8") #url2# print(content)## obj = re.compile(r‘<div id="Zoom">.*?译 名(?P<yiming>.*?)<br />◎片 名(?P<pianming>.*?)<br />◎年 ‘# r‘代(?P<nian>.*?)<br />.*?<td style="WORD-WRAP: break-word" bgcolor="#fdfddf"><a href="(?P<url>.*?)">‘,re.S) # re.S 去掉.的换行## res = obj.search(content)# print(res.group("yiming"))# print(res.group("pianming"))# print(res.group("nian"))# print(res.group("url"))obj = re.compile(r‘<div class="item">.*?<spanclass="title">(?P<name>.*?)</span>.*?导演: (?P<daoyan>.*?) .*?<span class="rating_num" property="v:average">(?P<fen>.*?)</span>.*?<span>(?P<ren>.*?)人评价</span>‘,re.S)def getContent(url): content = urlopen(url).read().decode("utf-8") return contentdef parseContent(content): it = obj.finditer(content) # 把页面中所有匹配的内容进行匹配. 返回迭代器 for el in it: yield { "name":el.group("name"),"daoyan":el.group("daoyan"),"ren":el.group("ren"),"fen":el.group("fen") }for i in range(10): url = "https://movie.douban.com/top250?start=%s&filter=" % i*25 g = parseContent(getContent(url)) f = open("movie.txt",mode="a",encoding="utf-8") for el in g: f.write(str(el)+"n") f.close() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |