1 import json 2 import requests 3 from requests.exceptions import RequestException 4 import re 5 import time 6 7 8 def get_one_page(url): 9 try: 10 headers = { 11 \'User-Agent\': \'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36\' 12 } 13 response = requests.get(url, headers=headers) 14 if response.status_code == 200: 15 return response.text 16 return None 17 except RequestException: 18 return None 19 20 21 def parse_one_page(html): 22 pattern = re.compile(\'<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a\' 23 + \'.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>\' 24 + \'.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>\', re.S) 25 items = re.findall(pattern, html) 26 for item in items: 27 yield { 28 \'index\': item[0], 29 \'image\': item[1], 30 \'title\': item[2], 31 \'actor\': item[3].strip()[3:], 32 \'time\': item[4].strip()[5:], 33 \'score\': item[5] + item[6] 34 } 35 36 37 def write_to_file(content): 38 with open(\'result.txt\', \'a\', encoding=\'utf-8\') as f: 39 f.write(json.dumps(content, ensure_ascii=False) + \'\n\') 40 41 42 def main(offset): 43 url = \'http://maoyan.com/board/4?offset=\' + str(offset) 44 html = get_one_page(url) 45 for item in parse_one_page(html): 46 print(item) 47 write_to_file(item) 48 49 50 if __name__ == \'__main__\': 51 for i in range(10): 52 main(offset=i * 10) 53 time.sleep(1)
看下结果
{"paiming": "{{= title}}", "title": "<span>{{= sub_title}}"} {"paiming": "1", "title": "肖申克的救赎"} {"paiming": "2", "title": "霸王别姬"} {"paiming": "3", "title": "这个杀手不太冷"} {"paiming": "4", "title": "阿甘正传"} {"paiming": "5", "title": "美丽人生"} {"paiming": "6", "title": "泰坦尼克号"} {"paiming": "7", "title": "千与千寻"} {"paiming": "8", "title": "辛德勒的名单"} {"paiming": "9", "title": "盗梦空间"} {"paiming": "10", "title": "机器人总动员"} {"paiming": "11", "title": "忠犬八公的故事"} {"paiming": "12", "title": "三傻大闹宝莱坞"} {"paiming": "13", "title": "海上钢琴师"} {"paiming": "14", "title": "放牛班的春天"} {"paiming": "15", "title": "大话西游之大圣娶亲"} {"paiming": "16", "title": "楚门的世界"} {"paiming": "17", "title": "教父"} {"paiming": "18", "title": "龙猫"} {"paiming": "19", "title": "星际穿越"} {"paiming": "20", "title": "熔炉"} {"paiming": "21", "title": "无间道"} {"paiming": "22", "title": "触不可及"} {"paiming": "23", "title": "当幸福来敲门"} {"paiming": "24", "title": "乱世佳人"} {"paiming": "25", "title": "怦然心动"} {"paiming": "{{= title}}", "title": "<span>{{= sub_title}}"} {"paiming": "26", "title": "疯狂动物城"} {"paiming": "27", "title": "天堂电影院"} {"paiming": "28", "title": "蝙蝠侠:黑暗骑士"} {"paiming": "29", "title": "十二怒汉"} {"paiming": "30", "title": "鬼子来了"} {"paiming": "31", "title": "活着"} {"paiming": "32", "title": "少年派的奇幻漂流"} {"paiming": "33", "title": "指环王3:王者无敌"} {"paiming": "34", "title": "搏击俱乐部"} {"paiming": "35", "title": "天空之城"} {"paiming": "36", "title": "控方证人"} {"paiming": "37", "title": "飞屋环游记"} {"paiming": "38", "title": "大话西游之月光宝盒"} {"paiming": "39", "title": "罗马假日"} {"paiming": "40", "title": "窃听风暴"} {"paiming": "41", "title": "两杆大烟枪"} {"paiming": "42", "title": "飞越疯人院"} {"paiming": "43", "title": "闻香识女人"} {"paiming": "44", "title": "哈尔的移动城堡"} {"paiming": "45", "title": "摔跤吧!爸爸"} {"paiming": "46", "title": "辩护人"} {"paiming": "47", "title": "死亡诗社"} {"paiming": "48", "title": "V字仇杀队"} {"paiming": "49", "title": "海豚湾"} {"paiming": "50", "title": "教父2"} {"paiming": "{{= title}}", "title": "<span>{{= sub_title}}"} {"paiming": "51", "title": "指环王2:双塔奇兵"} {"paiming": "52", "title": "美丽心灵"} {"paiming": "53", "title": "指环王1:魔戒再现"} {"paiming": "54", "title": "饮食男女"} {"paiming": "55", "title": "情书"} {"paiming": "56", "title": "素媛"} {"paiming": "57", "title": "狮子王"} {"paiming": "58", "title": "美国往事"} {"paiming": "59", "title": "钢琴家"} {"paiming": "60", "title": "小鞋子"} {"paiming": "61", "title": "七宗罪"} {"paiming": "62", "title": "被嫌弃的松子的一生"} {"paiming": "63", "title": "致命魔术"} {"paiming": "64", "title": "天使爱美丽"} {"paiming": "65", "title": "本杰明·巴顿奇事"} {"paiming": "66", "title": "西西里的美丽传说"} {"paiming": "67", "title": "音乐之声"} {"paiming": "68", "title": "黑客帝国"} {"paiming": "69", "title": "让子弹飞"} {"paiming": "70", "title": "拯救大兵瑞恩"} {"paiming": "71", "title": "看不见的客人"} {"paiming": "72", "title": "低俗小说"} {"paiming": "73", "title": "勇敢的心"} {"paiming": "74", "title": "剪刀手爱德华"} {"paiming": "75", "title": "沉默的羔羊"} {"paiming": "{{= title}}", "title": "<span>{{= sub_title}}"} {"paiming": "76", "title": "末代皇帝"} {"paiming": "77", "title": "大闹天宫"} {"paiming": "78", "title": "蝴蝶效应"} {"paiming": "79", "title": "入殓师"} {"paiming": "80", "title": "春光乍泄"} {"paiming": "81", "title": "心灵捕手"} {"paiming": "82", "title": "玛丽和马克思"} {"paiming": "83", "title": "哈利·波特与魔法石"} {"paiming": "84", "title": "阳光灿烂的日子"} {"paiming": "85", "title": "布达佩斯大饭店"} {"paiming": "86", "title": "禁闭岛"} {"paiming": "87", "title": "幽灵公主"} {"paiming": "88", "title": "第六感"} {"paiming": "89", "title": "猫鼠游戏"} {"paiming": "90", "title": "重庆森林"} {"paiming": "91", "title": "狩猎"} {"paiming": "92", "title": "致命ID"} {"paiming": "93", "title": "断背山"} {"paiming": "94", "title": "大鱼"} {"paiming": "95", "title": "穿条纹睡衣的男孩"} {"paiming": "96", "title": "加勒比海盗"} {"paiming": "97", "title": "告白"} {"paiming": "98", "title": "甜蜜蜜"} {"paiming": "99", "title": "一一"} {"paiming": "100", "title": "射雕英雄传之东成西就"} {"paiming": "{{= title}}", "title": "<span>{{= sub_title}}"} {"paiming": "101", "title": "阿凡达"} {"paiming": "102", "title": "摩登时代"} {"paiming": "103", "title": "阳光姐妹淘"} {"paiming": "104", "title": "上帝之城"} {"paiming": "105", "title": "爱在黎明破晓前"} {"paiming": "106", "title": "消失的爱人"} {"paiming": "107", "title": "侧耳倾听"} {"paiming": "108", "title": "风之谷"} {"paiming": "109", "title": "爱在日落黄昏时"} {"paiming": "110", "title": "超脱"} {"paiming": "111", "title": "倩女幽魂"} {"paiming": "112", "title": "恐怖直播"} {"paiming": "113", "title": "红辣椒"} {"paiming": "114", "title": "小森林 夏秋篇"} {"paiming": "115", "title": "喜剧之王"} {"paiming": "116", "title": "菊次郎的夏天"} {"paiming": "117", "title": "驯龙高手"} {"paiming": "118", "title": "幸福终点站"} {"paiming": "119", "title": "借东西的小人阿莉埃蒂"} {"paiming": "120", "title": "神偷奶爸"} {"paiming": "121", "title": "萤火虫之墓"} {"paiming": "122", "title": "七武士"} {"paiming": "123", "title": "岁月神偷"} {"paiming": "124", "title": "杀人回忆"} {"paiming": "125", "title": "怪兽电力公司"} {"paiming": "{{= title}}", "title": "<span>{{= sub_title}}"} {"paiming": "126", "title": "谍影重重3"} {"paiming": "127", "title": "喜宴"} {"paiming": "128", "title": "贫民窟的百万富翁"} {"paiming": "129", "title": "电锯惊魂"} {"paiming": "130", "title": "东邪西毒"} {"paiming": "131", "title": "真爱至上"} {"paiming": "132", "title": "记忆碎片"} {"paiming": "133", "title": "黑天鹅"} {"paiming": "134", "title": "疯狂原始人"} {"paiming": "135", "title": "小森林 冬春篇"} {"paiming": "136", "title": "雨人"} {"paiming": "137", "title": "海洋"} {"paiming": "138", "title": "哈利·波特与死亡圣器(下)"} {"paiming": "139", "title": "请以你的名字呼唤我"} {"paiming": "140", "title": "卢旺达饭店"} {"paiming": "141", "title": "萤火之森"} {"paiming": "142", "title": "英雄本色"} {"paiming": "143", "title": "7号房的礼物"} {"paiming": "144", "title": "心迷宫"} {"paiming": "145", "title": "虎口脱险"} {"paiming": "146", "title": "燃情岁月"} {"paiming": "147", "title": "荒蛮故事"} {"paiming": "148", "title": "傲慢与偏见"} {"paiming": "149", "title": "超能陆战队"} {"paiming": "150", "title": "蝙蝠侠:黑暗骑士崛起"} {"paiming": "{{= title}}", "title": "<span>{{= sub_title}}"} {"paiming": "151", "title": "海边的曼彻斯特"} {"paiming": "152", "title": "唐伯虎点秋香"} {"paiming": "153", "title": "教父3"} {"paiming": "154", "title": "纵横四海"} {"paiming": "155", "title": "恋恋笔记本"} {"paiming": "156", "title": "时空恋旅人"} {"paiming": "157", "title": "玩具总动员3"} {"paiming": "158", "title": "完美的世界"} {"paiming": "159", "title": "花样年华"} {"paiming": "160", "title": "达拉斯买家俱乐部"} {"paiming": "161", "title": "二十二"} {"paiming": "162", "title": "猜火车"} {"paiming": "163", "title": "魂断蓝桥"} {"paiming": "164", "title": "雨中曲"} {"paiming": "165", "title": "无人知晓"} {"paiming": "166", "title": "穿越时空的少女"} {"paiming": "167", "title": "我是山姆"} {"paiming": "168", "title": "冰川时代"} {"paiming": "169", "title": "人工智能"} {"paiming": "170", "title": "血战钢锯岭"} {"paiming": "171", "title": "爆裂鼓手"} {"paiming": "172", "title": "浪潮"} {"paiming": "173", "title": "朗读者"} {"paiming": "174", "title": "罗生门"} {"paiming": "175", "title": "香水"} {"paiming": "{{= title}}", "title": "<span>{{= sub_title}}"} {"paiming": "176", "title": "未麻的部屋"} {"paiming": "177", "title": "被解救的姜戈"} {"paiming": "178", "title": "阿飞正传"} {"paiming": "179", "title": "头脑特工队"} {"paiming": "180", "title": "可可西里"} {"paiming": "181", "title": "恐怖游轮"} {"paiming": "182", "title": "一次别离"} {"paiming": "183", "title": "追随"} {"paiming": "184", "title": "房间"} {"paiming": "185", "title": "撞车"} {"paiming": "186", "title": "战争之王"} {"paiming": "187", "title": "你的名字。"} {"paiming": "188", "title": "地球上的星星"} {"paiming": "189", "title": "模仿游戏"} {"paiming": "190", "title": "魔女宅急便"} {"paiming": "191", "title": "一个叫欧维的男人决定去死"} {"paiming": "192", "title": "忠犬八公物语"} {"paiming": "193", "title": "牯岭街少年杀人事件"} {"paiming": "194", "title": "谍影重重"} {"paiming": "195", "title": "梦之安魂曲"} {"paiming": "196", "title": "谍影重重2"} {"paiming": "197", "title": "完美陌生人"} {"paiming": "198", "title": "青蛇"} {"paiming": "199", "title": "惊魂记"} {"paiming": "200", "title": "哪吒闹海"} {"paiming": "{{= title}}", "title": "<span>{{= sub_title}}"} {"paiming": "201", "title": "再次出发之纽约遇见你"} {"paiming": "202", "title": "小萝莉的猴神大叔"} {"paiming": "203", "title": "黑客帝国3:矩阵革命"} {"paiming": "204", "title": "东京物语"} {"paiming": "205", "title": "新龙门客栈"} {"paiming": "206", "title": "源代码"} {"paiming": "207", "title": "终结者2:审判日"} {"paiming": "208", "title": "末路狂花"} {"paiming": "209", "title": "步履不停"} {"paiming": "210", "title": "绿里奇迹"} {"paiming": "211", "title": "秒速5厘米"} {"paiming": "212", "title": "海街日记"} {"paiming": "213", "title": "碧海蓝天"} {"paiming": "214", "title": "城市之光"} {"paiming": "215", "title": "初恋这件小事"} {"paiming": "216", "title": "无敌破坏王"} {"paiming": "217", "title": "这个男人来自地球"} {"paiming": "218", "title": "勇闯夺命岛"} {"paiming": "219", "title": "无耻混蛋"} {"paiming": "220", "title": "爱在午夜降临前"} {"paiming": "221", "title": "海盗电台"} {"paiming": "222", "title": "疯狂的石头"} {"paiming": "223", "title": "卡萨布兰卡"} {"paiming": "224", "title": "变脸"} {"paiming": "225", "title": "E.T. 外星人"} {"paiming": "{{= title}}", "title": "<span>{{= sub_title}}"} {"paiming": "226", "title": "发条橙"} {"paiming": "227", "title": "黄金三镖客"} {"paiming": "228", "title": "美国丽人"} {"paiming": "229", "title": "彗星来的那一夜"} {"paiming": "230", "title": "荒野生存"} {"paiming": "231", "title": "英国病人"} {"paiming": "232", "title": "聚焦"} {"paiming": "233", "title": "血钻"} {"paiming": "234", "title": "国王的演讲"} {"paiming": "235", "title": "迁徙的鸟"} {"paiming": "236", "title": "非常嫌疑犯"} {"paiming": "237", "title": "勇士"} {"paiming": "238", "title": "燕尾蝶"} {"paiming": "239", "title": "黑鹰坠落"} {"paiming": "240", "title": "遗愿清单"} {"paiming": "241", "title": "穆赫兰道"} {"paiming": "242", "title": "叫我第一名"} {"paiming": "243", "title": "我爱你"} {"paiming": "244", "title": "枪火"} {"paiming": "245", "title": "荒岛余生"} {"paiming": "246", "title": "2001太空漫游"} {"paiming": "247", "title": "上帝也疯狂"} {"paiming": "248", "title": "千钧一发"} {"paiming": "249", "title": "大卫·戈尔的一生"} {"paiming": "250", "title": "蓝色大门"}