一、re模块
1、match方法
import re # match 验证用户输入的内容 ret = re.match('\d+', 'hhoi2342ho12ioh11') print(ret) # None ret = re.match('\d+', '342khjlh324jbk234') print(ret) #print(ret.group()) # 342 # match是从开头开始匹配,不符合则返回None
2、split 切割
import re
# 切割 split s1 = 'alex|egon|taibai' print(s1.split('|')) # ['alex', 'egon', 'taibai'] s = 'alex345egon3056taibai' # 不保留切割内容 ret = re.split('\d+', s) print(ret) # ['alex', 'egon', 'taibai'] # 保留切割内容 ret = re.split('(\d+)', s) print(ret) # ['alex', '345', 'egon', '3056', 'taibai']
3、sub 替换
import re # 替换 sub s = 'alex|egon|taibai' print(s.replace('|', '-')) # alex-egon-taibai s1 = 'alex234egon342taibai' # 默认全部替换 ret = re.sub('\d+', '|', s1) print(ret) # alex|egon|taibai # 设置替换次数 ret = re.sub('\d+', '|', s1, 1) print(ret) # alex|egon342taibai # 默认全部替换,并返回一个元祖,元祖的第二个值是替换的次数 ret = re.subn('\d+', '|', s1) print(ret) # ('alex|egon|taibai', 2) # 设置替换次数,并返回一个元祖,元祖的第二个值是替换的次数 ret = re.subn('\d+', '|', s1, 1) print(ret) # ('alex|egon342taibai', 1)
4、compile 编译正则规则
import re # compile 编译正则规则 com = re.compile('\d+') print(com) # re.compile('\\d+') ret = com.search('sdf2g23jkgk21k21') print(ret.group()) # 2 ret = com.findall('sdf2g23jkgk21k21') print(ret) # ['2', '23', '21', '21'] ret = com.finditer('sdf2g23jkgk21k21') for i in ret: print(i.group()) # 2 # 23 # 21 # 21
5、finditer 节省空间的方法
import re # finditer 节省空间的方法 ret = re.finditer('\d+', 'sdf2g23jkgk21k21') print(ret) #迭代器 for i in ret: print(i.group()) # 2 # 23 # 21 # 21
6、分组命名、分组约束
在前端中常见的:
函数
实际上对于前端语言来说,都是把不同样式的字体放在不同的标签中
import re # 分组命名、分组约束 pattern = '<(?P.*?)>.*?(?P=tag)> ' ret = re.search(pattern, '函数
') print(ret) #if ret: print(ret.group()) # 函数
print(ret.group(1)) # h1 print(ret.group('tag')) # h1 pattern = r'<(.*?)>.*?\1>' ret = re.search(pattern, '函数') print(ret) #if ret: print(ret.group()) # 函数 print(ret.group(1)) # a ''' (?:正则表达式) 表示取消优先显示功能 (?P<组名>正则表达式) 表示给这个组取一个名字 (?P=组名) 表示引用之前组的名字,引用部分匹配到的内容必须和之前那个组中的内容一模一样 '''
1 from urllib.request import urlopen 2 3 ret = urlopen('https://movie.douban.com/top250?start=225&filter=') 4 content = ret.read().decode('utf-8') 5 print(content) 6 7 ''' 8 9 10 11 12 13 14 1516 豆瓣电影 Top 250 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 42 43 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 146 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 224 225 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 2661405 1406 1407 1408 1409 1410 1411 1412 1416 1417 1418 1419 1420 1421 1422 1423 1424 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1483 1484 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 '''267 2681380 1381 1382 1403 1404豆瓣电影 Top 250
269 270271 272 2731379274 275 276 277 278 279 280 281 2821343 1375283292 293 294 295284 285 286 287288 289 我没看过的 290 291296
297 334 335 336 337 343 373374 375376 377 383 413414 415416 454 455 456 494 495 496 497 503 533534 535536 537 543 573574 575576 614 615 616 654 655 656 657 663 693694 695696 697 703 733734 735736 773 774 775 813 814 815 853 854 855 892 893 894 895 901 931932 933934 971 972 973 974 980 10101011 10121013 1014 1020 10491050 10511052 1053 1059 10891090 10911092 1093 10991130 11311100 11101129111111281112 导演: 斯坦利·库布里克 Stanley Kubrick 主演: 凯尔·杜拉 Keir Dullea / ...
1113 1968 / 英国 美国 / 科幻 惊悚 冒险 1114 1115 1116 11171118 1119 1120 1121 105862人评价 11221123 11241125 现代科幻电影的开山之作,最伟大导演的最伟大影片。 1126 1127
1132 1133 1139 11681169 11701171 1172 1178 12081209 12101211 1212 12181249 12501219 12291248123012471231 导演: Alan Parker 主演: 凯文·史派西 Kevin Spacey / 凯特·温丝莱特 Kat...
1232 2003 / 美国 德国 英国 / 剧情 犯罪 悬疑 1233 1234 1235 12361237 1238 1239 1240 105386人评价 12411242 12431244 捍卫人权只是信仰,一点不妨碍其行为的残忍。 1245 1246
1251 1252 1258 12871288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1339 1340 1341 13421376 13771378
1 # 结构必须相似 2 from urllib.request import urlopen 3 import re 4 import json 5 6 def getPage(url): 7 response = urlopen(url) 8 content = response.read().decode('utf-8') 9 return content 10 11 def parsePage(s): 12 ret = com.finditer(s) 13 for i in ret: 14 yield { 15 'id': i.group('id'), 16 'title': i.group('title'), 17 'rating_num': i.group('rating_num'), 18 'comment_num': i.group('comment_num') 19 } 20 21 def main(num): 22 url = 'https://movie.douban.com/top250?start=%s&filter=' % num 23 response_html = getPage(url) 24 ret = parsePage(response_html) 25 print(ret) 26 f = open('move_info7', 'a', encoding='utf-8') 27 for obj in ret: 28 print(obj) 29 data = json.dumps(obj, ensure_ascii=False) 30 f.write(data + '\n') 31 f.close() 32 33 if __name__ == '__main__': 34 com = re.compile( 35 '.*?.*?(?P爬虫例子(豆瓣top250电影)\d+).*?(?P .*?) ' 36 '.*?(?P.*?)评价 .*?', re.S 37 ) 38 count = 0 39 for i in range(10): 40 main(count) 41 count += 25 42 ''' 4344 {'id': '1', 'title': '肖申克的救赎', 'rating_num': '9.6', 'comment_num': '1136962人'} 45 {'id': '2', 'title': '霸王别姬', 'rating_num': '9.5', 'comment_num': '829150人'} 46 {'id': '3', 'title': '这个杀手不太冷', 'rating_num': '9.4', 'comment_num': '1051321人'} 47 {'id': '4', 'title': '阿甘正传', 'rating_num': '9.4', 'comment_num': '897476人'} 48 {'id': '5', 'title': '美丽人生', 'rating_num': '9.5', 'comment_num': '523574人'} 49 {'id': '6', 'title': '泰坦尼克号', 'rating_num': '9.3', 'comment_num': '834022人'} 50 {'id': '7', 'title': '千与千寻', 'rating_num': '9.3', 'comment_num': '833571人'} 51 {'id': '8', 'title': '辛德勒的名单', 'rating_num': '9.4', 'comment_num': '473283人'} 52 {'id': '9', 'title': '盗梦空间', 'rating_num': '9.3', 'comment_num': '921728人'} 53 {'id': '10', 'title': '机器人总动员', 'rating_num': '9.3', 'comment_num': '608268人'} 54 {'id': '11', 'title': '忠犬八公的故事', 'rating_num': '9.3', 'comment_num': '588076人'} 55 {'id': '12', 'title': '三傻大闹宝莱坞', 'rating_num': '9.2', 'comment_num': '827336人'} 56 {'id': '13', 'title': '海上钢琴师', 'rating_num': '9.2', 'comment_num': '696470人'} 57 {'id': '14', 'title': '放牛班的春天', 'rating_num': '9.2', 'comment_num': '563040人'} 58 {'id': '15', 'title': '大话西游之大圣娶亲', 'rating_num': '9.2', 'comment_num': '618510人'} 59 {'id': '16', 'title': '楚门的世界', 'rating_num': '9.1', 'comment_num': '594493人'} 60 {'id': '17', 'title': '教父', 'rating_num': '9.2', 'comment_num': '417774人'} 61 {'id': '18', 'title': '龙猫', 'rating_num': '9.1', 'comment_num': '513277人'} 62 {'id': '19', 'title': '星际穿越', 'rating_num': '9.2', 'comment_num': '616218人'} 63 {'id': '20', 'title': '熔炉', 'rating_num': '9.2', 'comment_num': '343601人'} 64 {'id': '21', 'title': '无间道', 'rating_num': '9.1', 'comment_num': '503485人'} 65 {'id': '22', 'title': '触不可及', 'rating_num': '9.2', 'comment_num': '446800人'} 66 {'id': '23', 'title': '乱世佳人', 'rating_num': '9.2', 'comment_num': '320494人'} 67 {'id': '24', 'title': '当幸福来敲门', 'rating_num': '9.0', 'comment_num': '662070人'} 68 {'id': '25', 'title': '怦然心动', 'rating_num': '9.0', 'comment_num': '707168人'} 69 70 {'id': '26', 'title': '疯狂动物城', 'rating_num': '9.1', 'comment_num': '664871人'} 71 {'id': '27', 'title': '天堂电影院', 'rating_num': '9.1', 'comment_num': '354924人'} 72 {'id': '28', 'title': '蝙蝠侠:黑暗骑士', 'rating_num': '9.1', 'comment_num': '407246人'} 73 {'id': '29', 'title': '十二怒汉', 'rating_num': '9.4', 'comment_num': '205261人'} 74 {'id': '30', 'title': '鬼子来了', 'rating_num': '9.2', 'comment_num': '284999人'} 75 {'id': '31', 'title': '活着', 'rating_num': '9.1', 'comment_num': '337078人'} 76 {'id': '32', 'title': '少年派的奇幻漂流', 'rating_num': '9.0', 'comment_num': '688467人'} 77 {'id': '33', 'title': '指环王3:王者无敌', 'rating_num': '9.1', 'comment_num': '339598人'} 78 {'id': '34', 'title': '搏击俱乐部', 'rating_num': '9.0', 'comment_num': '456266人'} 79 {'id': '35', 'title': '天空之城', 'rating_num': '9.0', 'comment_num': '396992人'} 80 {'id': '36', 'title': '控方证人', 'rating_num': '9.6', 'comment_num': '131614人'} 81 {'id': '37', 'title': '飞屋环游记', 'rating_num': '8.9', 'comment_num': '602132人'} 82 {'id': '38', 'title': '大话西游之月光宝盒', 'rating_num': '8.9', 'comment_num': '497513人'} 83 {'id': '39', 'title': '罗马假日', 'rating_num': '8.9', 'comment_num': '458021人'} 84 {'id': '40', 'title': '窃听风暴', 'rating_num': '9.1', 'comment_num': '269930人'} 85 {'id': '41', 'title': '两杆大烟枪', 'rating_num': '9.1', 'comment_num': '314374人'} 86 {'id': '42', 'title': '飞越疯人院', 'rating_num': '9.0', 'comment_num': '317552人'} 87 {'id': '43', 'title': '闻香识女人', 'rating_num': '8.9', 'comment_num': '387743人'} 88 {'id': '44', 'title': '哈尔的移动城堡', 'rating_num': '8.9', 'comment_num': '427326人'} 89 {'id': '45', 'title': '辩护人', 'rating_num': '9.2', 'comment_num': '265247人'} 90 {'id': '46', 'title': '摔跤吧!爸爸', 'rating_num': '9.1', 'comment_num': '592646人'} 91 {'id': '47', 'title': 'V字仇杀队', 'rating_num': '8.8', 'comment_num': '503120人'} 92 {'id': '48', 'title': '死亡诗社', 'rating_num': '9.0', 'comment_num': '333864人'} 93 {'id': '49', 'title': '海豚湾', 'rating_num': '9.3', 'comment_num': '208271人'} 94 {'id': '50', 'title': '教父2', 'rating_num': '9.1', 'comment_num': '225526人'} 95 96 {'id': '51', 'title': '指环王2:双塔奇兵', 'rating_num': '9.0', 'comment_num': '318720人'} 97 {'id': '52', 'title': '美丽心灵', 'rating_num': '8.9', 'comment_num': '356942人'} 98 {'id': '53', 'title': '指环王1:魔戒再现', 'rating_num': '8.9', 'comment_num': '356842人'} 99 {'id': '54', 'title': '饮食男女', 'rating_num': '9.1', 'comment_num': '243677人'} 100 {'id': '55', 'title': '情书', 'rating_num': '8.8', 'comment_num': '437267人'} 101 {'id': '56', 'title': '素媛', 'rating_num': '9.1', 'comment_num': '227577人'} 102 {'id': '57', 'title': '狮子王', 'rating_num': '8.9', 'comment_num': '334392人'} 103 {'id': '58', 'title': '美国往事', 'rating_num': '9.1', 'comment_num': '204073人'} 104 {'id': '59', 'title': '钢琴家', 'rating_num': '9.0', 'comment_num': '235336人'} 105 {'id': '60', 'title': '小鞋子', 'rating_num': '9.2', 'comment_num': '168125人'} 106 {'id': '61', 'title': '七宗罪', 'rating_num': '8.7', 'comment_num': '495474人'} 107 {'id': '62', 'title': '被嫌弃的松子的一生', 'rating_num': '8.9', 'comment_num': '350239人'} 108 {'id': '63', 'title': '天使爱美丽', 'rating_num': '8.7', 'comment_num': '551849人'} 109 {'id': '64', 'title': '致命魔术', 'rating_num': '8.8', 'comment_num': '402295人'} 110 {'id': '65', 'title': '本杰明·巴顿奇事', 'rating_num': '8.8', 'comment_num': '456274人'} 111 {'id': '66', 'title': '西西里的美丽传说', 'rating_num': '8.8', 'comment_num': '421224人'} 112 {'id': '67', 'title': '音乐之声', 'rating_num': '8.9', 'comment_num': '268975人'} 113 {'id': '68', 'title': '让子弹飞', 'rating_num': '8.7', 'comment_num': '741134人'} 114 {'id': '69', 'title': '黑客帝国', 'rating_num': '8.9', 'comment_num': '332788人'} 115 {'id': '70', 'title': '拯救大兵瑞恩', 'rating_num': '8.9', 'comment_num': '285251人'} 116 {'id': '71', 'title': '勇敢的心', 'rating_num': '8.8', 'comment_num': '331967人'} 117 {'id': '72', 'title': '看不见的客人', 'rating_num': '8.7', 'comment_num': '436278人'} 118 {'id': '73', 'title': '低俗小说', 'rating_num': '8.8', 'comment_num': '392959人'} 119 {'id': '74', 'title': '剪刀手爱德华', 'rating_num': '8.7', 'comment_num': '557365人'} 120 {'id': '75', 'title': '沉默的羔羊', 'rating_num': '8.8', 'comment_num': '405979人'} 121 122 {'id': '76', 'title': '大闹天宫', 'rating_num': '9.3', 'comment_num': '126269人'} 123 {'id': '77', 'title': '蝴蝶效应', 'rating_num': '8.7', 'comment_num': '442285人'} 124 {'id': '78', 'title': '末代皇帝', 'rating_num': '9.0', 'comment_num': '214162人'} 125 {'id': '79', 'title': '入殓师', 'rating_num': '8.8', 'comment_num': '352643人'} 126 {'id': '80', 'title': '春光乍泄', 'rating_num': '8.8', 'comment_num': '290099人'} 127 {'id': '81', 'title': '心灵捕手', 'rating_num': '8.8', 'comment_num': '319194人'} 128 {'id': '82', 'title': '玛丽和马克思', 'rating_num': '8.9', 'comment_num': '255687人'} 129 {'id': '83', 'title': '哈利·波特与魔法石', 'rating_num': '8.8', 'comment_num': '320109人'} 130 {'id': '84', 'title': '阳光灿烂的日子', 'rating_num': '8.8', 'comment_num': '316138人'} 131 {'id': '85', 'title': '布达佩斯大饭店', 'rating_num': '8.8', 'comment_num': '380840人'} 132 {'id': '86', 'title': '禁闭岛', 'rating_num': '8.7', 'comment_num': '420807人'} 133 {'id': '87', 'title': '幽灵公主', 'rating_num': '8.8', 'comment_num': '270444人'} 134 {'id': '88', 'title': '第六感', 'rating_num': '8.8', 'comment_num': '269686人'} 135 {'id': '89', 'title': '猫鼠游戏', 'rating_num': '8.8', 'comment_num': '280488人'} 136 {'id': '90', 'title': '重庆森林', 'rating_num': '8.7', 'comment_num': '384359人'} 137 {'id': '91', 'title': '狩猎', 'rating_num': '9.1', 'comment_num': '156862人'} 138 {'id': '92', 'title': '致命ID', 'rating_num': '8.7', 'comment_num': '369961人'} 139 {'id': '93', 'title': '断背山', 'rating_num': '8.7', 'comment_num': '368278人'} 140 {'id': '94', 'title': '大鱼', 'rating_num': '8.7', 'comment_num': '289042人'} 141 {'id': '95', 'title': '穿条纹睡衣的男孩', 'rating_num': '8.9', 'comment_num': '181575人'} 142 {'id': '96', 'title': '加勒比海盗', 'rating_num': '8.6', 'comment_num': '403853人'} 143 {'id': '97', 'title': '告白', 'rating_num': '8.7', 'comment_num': '391030人'} 144 {'id': '98', 'title': '甜蜜蜜', 'rating_num': '8.8', 'comment_num': '260975人'} 145 {'id': '99', 'title': '射雕英雄传之东成西就', 'rating_num': '8.7', 'comment_num': '314889人'} 146 {'id': '100', 'title': '一一', 'rating_num': '8.9', 'comment_num': '176905人'} 147 148 {'id': '101', 'title': '阿凡达', 'rating_num': '8.6', 'comment_num': '607396人'} 149 {'id': '102', 'title': '摩登时代', 'rating_num': '9.2', 'comment_num': '107574人'} 150 {'id': '103', 'title': '阳光姐妹淘', 'rating_num': '8.8', 'comment_num': '308629人'} 151 {'id': '104', 'title': '上帝之城', 'rating_num': '8.9', 'comment_num': '174373人'} 152 {'id': '105', 'title': '爱在黎明破晓前', 'rating_num': '8.7', 'comment_num': '256335人'} 153 {'id': '106', 'title': '消失的爱人', 'rating_num': '8.7', 'comment_num': '415421人'} 154 {'id': '107', 'title': '侧耳倾听', 'rating_num': '8.8', 'comment_num': '199098人'} 155 {'id': '108', 'title': '风之谷', 'rating_num': '8.8', 'comment_num': '200778人'} 156 {'id': '109', 'title': '爱在日落黄昏时', 'rating_num': '8.8', 'comment_num': '227021人'} 157 {'id': '110', 'title': '倩女幽魂', 'rating_num': '8.6', 'comment_num': '301352人'} 158 {'id': '111', 'title': '超脱', 'rating_num': '8.8', 'comment_num': '202665人'} 159 {'id': '112', 'title': '恐怖直播', 'rating_num': '8.7', 'comment_num': '265264人'} 160 {'id': '113', 'title': '红辣椒', 'rating_num': '8.9', 'comment_num': '159097人'} 161 {'id': '114', 'title': '小森林 夏秋篇', 'rating_num': '8.9', 'comment_num': '163081人'} 162 {'id': '115', 'title': '喜剧之王', 'rating_num': '8.6', 'comment_num': '373088人'} 163 {'id': '116', 'title': '菊次郎的夏天', 'rating_num': '8.7', 'comment_num': '216449人'} 164 {'id': '117', 'title': '驯龙高手', 'rating_num': '8.7', 'comment_num': '329730人'} 165 {'id': '118', 'title': '幸福终点站', 'rating_num': '8.7', 'comment_num': '254497人'} 166 {'id': '119', 'title': '借东西的小人阿莉埃蒂', 'rating_num': '8.7', 'comment_num': '247365人'} 167 {'id': '120', 'title': '神偷奶爸', 'rating_num': '8.5', 'comment_num': '441910人'} 168 {'id': '121', 'title': '萤火虫之墓', 'rating_num': '8.7', 'comment_num': '229344人'} 169 {'id': '122', 'title': '岁月神偷', 'rating_num': '8.6', 'comment_num': '338739人'} 170 {'id': '123', 'title': '七武士', 'rating_num': '9.2', 'comment_num': '88622人'} 171 {'id': '124', 'title': '杀人回忆', 'rating_num': '8.7', 'comment_num': '236531人'} 172 {'id': '125', 'title': '怪兽电力公司', 'rating_num': '8.6', 'comment_num': '280990人'} 173 174 {'id': '126', 'title': '谍影重重3', 'rating_num': '8.7', 'comment_num': '204388人'} 175 {'id': '127', 'title': '喜宴', 'rating_num': '8.8', 'comment_num': '159333人'} 176 {'id': '128', 'title': '贫民窟的百万富翁', 'rating_num': '8.5', 'comment_num': '433139人'} 177 {'id': '129', 'title': '电锯惊魂', 'rating_num': '8.7', 'comment_num': '223295人'} 178 {'id': '130', 'title': '真爱至上', 'rating_num': '8.5', 'comment_num': '349284人'} 179 {'id': '131', 'title': '东邪西毒', 'rating_num': '8.6', 'comment_num': '287068人'} 180 {'id': '132', 'title': '记忆碎片', 'rating_num': '8.6', 'comment_num': '313381人'} 181 {'id': '133', 'title': '黑天鹅', 'rating_num': '8.5', 'comment_num': '465339人'} 182 {'id': '134', 'title': '疯狂原始人', 'rating_num': '8.7', 'comment_num': '417114人'} 183 {'id': '135', 'title': '雨人', 'rating_num': '8.6', 'comment_num': '229786人'} 184 {'id': '136', 'title': '海洋', 'rating_num': '9.0', 'comment_num': '105731人'} 185 {'id': '137', 'title': '小森林 冬春篇', 'rating_num': '8.9', 'comment_num': '141001人'} 186 {'id': '138', 'title': '哈利·波特与死亡圣器(下)', 'rating_num': '8.7', 'comment_num': '313421人'} 187 {'id': '139', 'title': '卢旺达饭店', 'rating_num': '8.9', 'comment_num': '136575人'} 188 {'id': '140', 'title': '请以你的名字呼唤我', 'rating_num': '8.8', 'comment_num': '215180人'} 189 {'id': '141', 'title': '萤火之森', 'rating_num': '8.8', 'comment_num': '188466人'} 190 {'id': '142', 'title': '英雄本色', 'rating_num': '8.6', 'comment_num': '198786人'} 191 {'id': '143', 'title': '7号房的礼物', 'rating_num': '8.7', 'comment_num': '205810人'} 192 {'id': '144', 'title': '心迷宫', 'rating_num': '8.6', 'comment_num': '210739人'} 193 {'id': '145', 'title': '虎口脱险', 'rating_num': '8.9', 'comment_num': '118205人'} 194 {'id': '146', 'title': '燃情岁月', 'rating_num': '8.7', 'comment_num': '161251人'} 195 {'id': '147', 'title': '荒蛮故事', 'rating_num': '8.8', 'comment_num': '168403人'} 196 {'id': '148', 'title': '傲慢与偏见', 'rating_num': '8.5', 'comment_num': '344035人'} 197 {'id': '149', 'title': '超能陆战队', 'rating_num': '8.6', 'comment_num': '428756人'} 198 {'id': '150', 'title': '海边的曼彻斯特', 'rating_num': '8.6', 'comment_num': '231798人'} 199 200 {'id': '151', 'title': '蝙蝠侠:黑暗骑士崛起', 'rating_num': '8.6', 'comment_num': '332241人'} 201 {'id': '152', 'title': '唐伯虎点秋香', 'rating_num': '8.4', 'comment_num': '391028人'} 202 {'id': '153', 'title': '教父3', 'rating_num': '8.8', 'comment_num': '150140人'} 203 {'id': '154', 'title': '纵横四海', 'rating_num': '8.7', 'comment_num': '170601人'} 204 {'id': '155', 'title': '恋恋笔记本', 'rating_num': '8.5', 'comment_num': '320328人'} 205 {'id': '156', 'title': '玩具总动员3', 'rating_num': '8.8', 'comment_num': '215398人'} 206 {'id': '157', 'title': '完美的世界', 'rating_num': '9.0', 'comment_num': '93344人'} 207 {'id': '158', 'title': '时空恋旅人', 'rating_num': '8.6', 'comment_num': '234868人'} 208 {'id': '159', 'title': '花样年华', 'rating_num': '8.5', 'comment_num': '277064人'} 209 {'id': '160', 'title': '达拉斯买家俱乐部', 'rating_num': '8.7', 'comment_num': '210179人'} 210 {'id': '161', 'title': '猜火车', 'rating_num': '8.5', 'comment_num': '270902人'} 211 {'id': '162', 'title': '魂断蓝桥', 'rating_num': '8.8', 'comment_num': '142255人'} 212 {'id': '163', 'title': '雨中曲', 'rating_num': '9.0', 'comment_num': '102866人'} 213 {'id': '164', 'title': '穿越时空的少女', 'rating_num': '8.6', 'comment_num': '205342人'} 214 {'id': '165', 'title': '二十二', 'rating_num': '8.7', 'comment_num': '122817人'} 215 {'id': '166', 'title': '无人知晓', 'rating_num': '9.1', 'comment_num': '83749人'} 216 {'id': '167', 'title': '我是山姆', 'rating_num': '8.8', 'comment_num': '118954人'} 217 {'id': '168', 'title': '冰川时代', 'rating_num': '8.5', 'comment_num': '306556人'} 218 {'id': '169', 'title': '人工智能', 'rating_num': '8.6', 'comment_num': '212679人'} 219 {'id': '170', 'title': '血战钢锯岭', 'rating_num': '8.7', 'comment_num': '367970人'} 220 {'id': '171', 'title': '浪潮', 'rating_num': '8.7', 'comment_num': '147530人'} 221 {'id': '172', 'title': '爆裂鼓手', 'rating_num': '8.6', 'comment_num': '267524人'} 222 {'id': '173', 'title': '朗读者', 'rating_num': '8.5', 'comment_num': '299592人'} 223 {'id': '174', 'title': '香水', 'rating_num': '8.4', 'comment_num': '306173人'} 224 {'id': '175', 'title': '罗生门', 'rating_num': '8.7', 'comment_num': '142114人'} 225 226 {'id': '176', 'title': '未麻的部屋', 'rating_num': '8.8', 'comment_num': '113769人'} 227 {'id': '177', 'title': '被解救的姜戈', 'rating_num': '8.6', 'comment_num': '288746人'} 228 {'id': '178', 'title': '阿飞正传', 'rating_num': '8.5', 'comment_num': '234013人'} 229 {'id': '179', 'title': '头脑特工队', 'rating_num': '8.7', 'comment_num': '263741人'} 230 {'id': '180', 'title': '可可西里', 'rating_num': '8.7', 'comment_num': '143587人'} 231 {'id': '181', 'title': '恐怖游轮', 'rating_num': '8.4', 'comment_num': '368793人'} 232 {'id': '182', 'title': '一次别离', 'rating_num': '8.7', 'comment_num': '145765人'} 233 {'id': '183', 'title': '追随', 'rating_num': '8.9', 'comment_num': '90823人'} 234 {'id': '184', 'title': '房间', 'rating_num': '8.8', 'comment_num': '180160人'} 235 {'id': '185', 'title': '撞车', 'rating_num': '8.6', 'comment_num': '189974人'} 236 {'id': '186', 'title': '战争之王', 'rating_num': '8.6', 'comment_num': '190742人'} 237 {'id': '187', 'title': '你的名字。', 'rating_num': '8.4', 'comment_num': '556781人'} 238 {'id': '188', 'title': '地球上的星星', 'rating_num': '8.8', 'comment_num': '96033人'} 239 {'id': '189', 'title': '魔女宅急便', 'rating_num': '8.5', 'comment_num': '219378人'} 240 {'id': '190', 'title': '模仿游戏', 'rating_num': '8.6', 'comment_num': '287770人'} 241 {'id': '191', 'title': '牯岭街少年杀人事件', 'rating_num': '8.8', 'comment_num': '120103人'} 242 {'id': '192', 'title': '谍影重重', 'rating_num': '8.5', 'comment_num': '214008人'} 243 {'id': '193', 'title': '梦之安魂曲', 'rating_num': '8.7', 'comment_num': '123207人'} 244 {'id': '194', 'title': '忠犬八公物语', 'rating_num': '9.0', 'comment_num': '70288人'} 245 {'id': '195', 'title': '一个叫欧维的男人决定去死', 'rating_num': '8.7', 'comment_num': '143164人'} 246 {'id': '196', 'title': '谍影重重2', 'rating_num': '8.6', 'comment_num': '177752人'} 247 {'id': '197', 'title': '完美陌生人', 'rating_num': '8.6', 'comment_num': '235389人'} 248 {'id': '198', 'title': '惊魂记', 'rating_num': '8.9', 'comment_num': '94874人'} 249 {'id': '199', 'title': '青蛇', 'rating_num': '8.5', 'comment_num': '249062人'} 250 {'id': '200', 'title': '哪吒闹海', 'rating_num': '8.9', 'comment_num': '92535人'} 251 252 {'id': '201', 'title': '再次出发之纽约遇见你', 'rating_num': '8.5', 'comment_num': '194801人'} 253 {'id': '202', 'title': '小萝莉的猴神大叔', 'rating_num': '8.5', 'comment_num': '190138人'} 254 {'id': '203', 'title': '黑客帝国3:矩阵革命', 'rating_num': '8.6', 'comment_num': '175795人'} 255 {'id': '204', 'title': '东京物语', 'rating_num': '9.2', 'comment_num': '58021人'} 256 {'id': '205', 'title': '新龙门客栈', 'rating_num': '8.5', 'comment_num': '207001人'} 257 {'id': '206', 'title': '源代码', 'rating_num': '8.4', 'comment_num': '445325人'} 258 {'id': '207', 'title': '终结者2:审判日', 'rating_num': '8.6', 'comment_num': '156077人'} 259 {'id': '208', 'title': '末路狂花', 'rating_num': '8.7', 'comment_num': '116215人'} 260 {'id': '209', 'title': '绿里奇迹', 'rating_num': '8.7', 'comment_num': '118647人'} 261 {'id': '210', 'title': '步履不停', 'rating_num': '8.8', 'comment_num': '97773人'} 262 {'id': '211', 'title': '秒速5厘米', 'rating_num': '8.3', 'comment_num': '336378人'} 263 {'id': '212', 'title': '碧海蓝天', 'rating_num': '8.7', 'comment_num': '113548人'} 264 {'id': '213', 'title': '海街日记', 'rating_num': '8.7', 'comment_num': '155736人'} 265 {'id': '214', 'title': '初恋这件小事', 'rating_num': '8.3', 'comment_num': '511023人'} 266 {'id': '215', 'title': '城市之光', 'rating_num': '9.2', 'comment_num': '50588人'} 267 {'id': '216', 'title': '这个男人来自地球', 'rating_num': '8.5', 'comment_num': '201836人'} 268 {'id': '217', 'title': '勇闯夺命岛', 'rating_num': '8.6', 'comment_num': '154771人'} 269 {'id': '218', 'title': '无敌破坏王', 'rating_num': '8.7', 'comment_num': '207232人'} 270 {'id': '219', 'title': '无耻混蛋', 'rating_num': '8.5', 'comment_num': '244884人'} 271 {'id': '220', 'title': '爱在午夜降临前', 'rating_num': '8.8', 'comment_num': '131277人'} 272 {'id': '221', 'title': '海盗电台', 'rating_num': '8.6', 'comment_num': '176536人'} 273 {'id': '222', 'title': '卡萨布兰卡', 'rating_num': '8.6', 'comment_num': '136479人'} 274 {'id': '223', 'title': '疯狂的石头', 'rating_num': '8.3', 'comment_num': '354627人'} 275 {'id': '224', 'title': '变脸', 'rating_num': '8.4', 'comment_num': '233253人'} 276 {'id': '225', 'title': 'E.T. 外星人', 'rating_num': '8.5', 'comment_num': '170281人'} 277 278 {'id': '226', 'title': '发条橙', 'rating_num': '8.5', 'comment_num': '202041人'} 279 {'id': '227', 'title': '黄金三镖客', 'rating_num': '9.1', 'comment_num': '57570人'} 280 {'id': '228', 'title': '美国丽人', 'rating_num': '8.5', 'comment_num': '202029人'} 281 {'id': '229', 'title': '彗星来的那一夜', 'rating_num': '8.4', 'comment_num': '207481人'} 282 {'id': '230', 'title': '荒野生存', 'rating_num': '8.6', 'comment_num': '138526人'} 283 {'id': '231', 'title': '英国病人', 'rating_num': '8.5', 'comment_num': '186720人'} 284 {'id': '232', 'title': '迁徙的鸟', 'rating_num': '9.1', 'comment_num': '55075人'} 285 {'id': '233', 'title': '血钻', 'rating_num': '8.5', 'comment_num': '149126人'} 286 {'id': '234', 'title': '聚焦', 'rating_num': '8.8', 'comment_num': '142728人'} 287 {'id': '235', 'title': '国王的演讲', 'rating_num': '8.3', 'comment_num': '371667人'} 288 {'id': '236', 'title': '非常嫌疑犯', 'rating_num': '8.6', 'comment_num': '128198人'} 289 {'id': '237', 'title': '燕尾蝶', 'rating_num': '8.6', 'comment_num': '113716人'} 290 {'id': '238', 'title': '勇士', 'rating_num': '8.9', 'comment_num': '94355人'} 291 {'id': '239', 'title': '黑鹰坠落', 'rating_num': '8.6', 'comment_num': '130601人'} 292 {'id': '240', 'title': '穆赫兰道', 'rating_num': '8.3', 'comment_num': '254945人'} 293 {'id': '241', 'title': '遗愿清单', 'rating_num': '8.5', 'comment_num': '145700人'} 294 {'id': '242', 'title': '叫我第一名', 'rating_num': '8.6', 'comment_num': '117631人'} 295 {'id': '243', 'title': '我爱你', 'rating_num': '9.0', 'comment_num': '65021人'} 296 {'id': '244', 'title': '枪火', 'rating_num': '8.6', 'comment_num': '109640人'} 297 {'id': '245', 'title': '荒岛余生', 'rating_num': '8.5', 'comment_num': '149701人'} 298 {'id': '246', 'title': '2001太空漫游', 'rating_num': '8.7', 'comment_num': '105862人'} 299 {'id': '247', 'title': '上帝也疯狂', 'rating_num': '8.6', 'comment_num': '103665人'} 300 {'id': '248', 'title': '千钧一发', 'rating_num': '8.7', 'comment_num': '96480人'} 301 {'id': '249', 'title': '大卫·戈尔的一生', 'rating_num': '8.6', 'comment_num': '105386人'} 302 {'id': '250', 'title': '蓝色大门', 'rating_num': '8.3', 'comment_num': '289390人'} 303 ''' 二、异常处理
语法错误:在程序之前就规避掉,不应该留到程序中来进行异常处理
在编译的过程中报错
异常:
在编译阶段没问题,在执行阶段才报错
异常出现之后的现象:程序就不继续执行了
Python的异常种类:
# 常见异常 AttributeError # 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError # 输入/输出异常;基本上是无法打开文件 ImportError # 无法引入模块或包;基本上是路径问题或名称错误 IndentationError # 语法错误(的子类) ;代码没有正确对齐 IndexError # 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyError # 试图访问字典里不存在的键 KeyboardInterrupt # Ctrl+C被按下 NameError # 使用一个还未被赋予对象的变量 SyntaxError # Python代码非法,代码不能编译(个人认为这是语法错误,写错了) TypeError # 传入对象类型与要求的不符合 UnboundLocalError # 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它 ValueError # 传入一个调用者不期望的值,即使值的类型是正确的更多异常ArithmeticError AssertionError AttributeError BaseException BufferError BytesWarning DeprecationWarning EnvironmentError EOFError Exception FloatingPointError FutureWarning GeneratorExit ImportError ImportWarning IndentationError IndexError IOError KeyboardInterrupt KeyError LookupError MemoryError NameError NotImplementedError OSError OverflowError PendingDeprecationWarning ReferenceError RuntimeError RuntimeWarning StandardError StopIteration SyntaxError SyntaxWarning SystemError SystemExit TabError TypeError UnboundLocalError UnicodeDecodeError UnicodeEncodeError UnicodeError UnicodeTranslateError UnicodeWarning UserWarning ValueError Warning ZeroDivisionError
异常处理:
1、基本语法:
# try: # 被检测的代码块 # except 异常类型: # try中一旦检测到异常,就执行这个位置的逻辑 l = ['登录', '注册'] try: num = int(input('num:')) print(l[num - 1]) except ValueError: # 输入的不是数字走这里 print('输入的不是数字') except IndexError: # 输入的数字超出范围走这里 print('输入的超出范围') try: num = int(input('num:')) print(l[num - 1]) except (ValueError,IndexError): # 把不同的报错类型写在一起 print('输入了错误的内容')2、万能异常 Exception
# 万能异常Exception
try: l = [] l[3] # IndexError import Index # ModuleNotFoundError open('aaaaaa') # FileNotFoundError 1/0 # ZeroDivisionError dic = {} dic['k'] # KeyError except Exception: print('异常了') # as 语法 try: l = [] l[3] # IndexError import Index # ModuleNotFoundError open('aaaaaa') # FileNotFoundError 1/0 # ZeroDivisionError dic = {} dic['k'] # KeyError except Exception as e: print(e) # list index out of range # 多分支 + 万能异常 l = ['登陆','注册'] try: num = int(input('num : ')) print(l[num - 1]) except (ValueError,IndexError): # 异常是这两种错误则走这里 print('输入了错误的内容') except Exception as e: # 如果不是上面两种错误则走这里 print(e)3、异常处理中的其他机制
s1 = 'hello' try: int(s1) except IndexError as e: print(e) except KeyError as e: print(e) except ValueError as e: print(e) #except Exception as e: # print(e) else: print('try内代码块没有异常则执行我') # 汇报这段代码顺利的执行了:发短信通知,记录到文件中 finally: print('无论异常与否,都会执行该模块,通常是进行清理工作') # 无论如何都要执行 # 收尾工作,打开了一个文件,占用了一个网络资源,打开了一个和数据库的链接 # 可以在这里关闭文件等
4、主动触发异常
try: raise TypeError('类型错误') except Exception as e: print(e) # 类型错误
5、自定义异常
class EvaException(BaseException): def __init__(self,msg): self.msg=msg def __str__(self): return self.msg try: raise EvaException('类型错误') except EvaException as e: print(e) # 类型错误
6、断言
assert 1 == 1 print('*' * 10) # ********** assert 1 == 2 print('*' * 10) # AssertionError
转载于:https://www.cnblogs.com/yzh2857/p/9629375.html