明天也有晚霞嘛 发表于 2021-5-22 06:22

求助python爬虫,爬取到空项时如何输出?

# 爬取豆瓣top250电影名称,评分及名言

代码段:

import requests
import re
import csv

for num in range(0,250,25):
    url = f'https://movie.douban.com/top250?start={num}&filter='
    headers = {
      "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
    }
    resp = requests.get(url,headers = headers)
    page_content = resp.text

    obj = re.compile(r'<li>.*?<span class="title">(?P<name>.*?)</span>.*?'
                     r'<span class="rating_num" property="v:average">(?P<score>.*?)</span>.*?'
                     r'<span class="inq">(?P<quote>.*?)</span>',re.S)
    result = obj.finditer(page_content)

    f = open("豆瓣top250及评分.csv",mode="a",encoding='utf-8',newline="")
    # a表示以“追加”的形式写入,如果是“w”的话,表示在写入之前会清空原文件中的数据
    csvwriter = csv.writer(f)

    for it in result:
      # print(it.group("name"))
      # print(it.group("score"))
      # print(it.group("quote"))
      dic = it.groupdict()
      csvwriter.writerow(dic.values())
    f.close()
print("over!")

输出结果:

肖申克的救赎,9.7,希望让人自由。
霸王别姬,9.6,风华绝代。
阿甘正传,9.5,一部美国近现代史。
这个杀手不太冷,9.4,怪蜀黍和小萝莉不得不说的故事。
泰坦尼克号,9.4,失去的才是永恒的。
美丽人生,9.5,最美的谎言。
千与千寻,9.4,最好的宫崎骏,最好的久石让。
辛德勒的名单,9.5,拯救一个人,就是拯救整个世界。
盗梦空间,9.3,诺兰给了我们一场无法盗取的梦。
忠犬八公的故事,9.4,永远都不能忘记你所爱的人。
星际穿越,9.3,爱是一种力量,让我们超越时空感知它的存在。
楚门的世界,9.3,如果再也不能见到你,祝你早安,午安,晚安。
海上钢琴师,9.3,每个人都要走一条自己坚定了的路,就算是粉身碎骨。
三傻大闹宝莱坞,9.2,英俊版憨豆,高情商版谢耳朵。
机器人总动员,9.3,小瓦力,大人生。
放牛班的春天,9.3,天籁一般的童声,是最接近上帝的存在。
大话西游之大圣娶亲,9.2,一生所爱。
无间道,9.2,香港电影史上永不过时的杰作。
疯狂动物城,9.2,迪士尼给我们营造的乌托邦就是这样,永远善良勇敢,永远出乎意料。
熔炉,9.3,我们一路奋战不是为了改变世界,而是为了不让世界改变我们。
教父,9.3,千万不要记恨你的对手,这样会让你失去理智。
当幸福来敲门,9.1,平民励志片。
龙猫,9.2,人人心中都有个龙猫,童年就永远不会消失。
怦然心动,9.1,真正的幸福是来自内心深处。
控方证人,9.6,比利·怀德满分作品。
触不可及,9.3,满满温情的高雅喜剧。
蝙蝠侠:黑暗骑士,9.2,无尽的黑暗。
末代皇帝,9.3,“不要跟我比惨,我比你更惨”再适合这部电影不过了。
寻梦环游记,9.1,死亡不是真的逝去,遗忘才是永恒的消亡。
活着,9.3,张艺谋最好的电影。
何以为家,9.1,凝视卑弱生命,用电影改变命运。
乱世佳人,9.3,Tomorrow is another day.
指环王3:王者无敌,9.2,史诗的终章。
哈利·波特与魔法石,9.1,童话世界的开端。
飞屋环游记,9.0,最后那些最无聊的事情,才是最值得怀念的。
素媛,9.3,受过伤害的人总是笑得最开心,因为他们不愿意让身边的人承受一样的痛苦。
摔跤吧!爸爸,9.0,你不是在为你一个人战斗,你要让千千万万的女性看到女生并不是只能相夫教子。
少年派的奇幻漂流,9.1,瑰丽壮观、无人能及的冒险之旅。
十二怒汉,9.4,1957年的理想主义。
哈尔的移动城堡,9.1,带着心爱的人在天空飞翔。
鬼子来了,9.3,对敌人的仁慈,就是对自己残忍。
我不是药神,9.0,对我们国家而言,这样的电影多一部是一部。
大话西游之月光宝盒,9.0,旷古烁今。
天空之城,9.1,对天空的追逐,永不停止。
闻香识女人,9.1,史上最美的探戈。
罗马假日,9.0,爱情哪怕只有一天。
指环王2:双塔奇兵,9.1,承前启后的史诗篇章。
辩护人,9.2,电影的现实意义大过电影本身。
天堂电影院,9.2,那些吻戏,那些青春,都在影院的黑暗里被泪水冲刷得无比清晰。
猫鼠游戏,9.1,骗子大师和执著警探的你追我跑故事。
指环王1:护戒使者,9.1,传说的开始。
大闹天宫,9.4,经典之作,历久弥新。
钢琴家,9.2,音乐能化解仇恨。
狮子王,9.1,动物版《哈姆雷特》。
教父2,9.2,优雅的孤独。
搏击俱乐部,9.0,邪恶与平庸蛰伏于同一个母体,在特定的时间互相对峙。
死亡诗社,9.1,当一个死水般的体制内出现一个活跃的变数时,所有的腐臭都站在了光明的对面。
黑客帝国,9.0,视觉革命。
让子弹飞,8.9,你给我翻译翻译,神马叫做TMD的惊喜。
绿皮书,8.9,去除成见,需要勇气。
饮食男女,9.1,人生不能像做菜,把所有的料都准备好了才下锅。
美丽心灵,9.0,爱是一切逻辑和原由。
窃听风暴,9.2,别样人生。
海蒂和爷爷,9.2,如果生活中有什么使你感到快乐,那就去做吧!不要管别人说什么。
两杆大烟枪,9.1,4个臭皮匠顶个诸葛亮,盖·里奇果然不是盖的。
本杰明·巴顿奇事,8.9,在时间之河里感受溺水之苦。
看不见的客人,8.8,你以为你以为的就是你以为的。
飞越疯人院,9.1,自由万岁。
穿条纹睡衣的男孩,9.1,尽管有些不切实际的幻想,这部电影依旧是一部感人肺腑的佳作。
西西里的美丽传说,8.9,美丽无罪。
拯救大兵瑞恩,9.0,美利坚精神输出大片No1.
小鞋子,9.2,奔跑的孩子是天使。
音乐之声,9.1,用音乐化解仇恨,让歌声串起美好。
情书,8.9,暗恋的极致。
海豚湾,9.3,海豚的微笑,是世界上最高明的伪装。
阿凡达,8.8,绝对意义上的美轮美奂。
致命魔术,8.9,孪生蝙蝠侠大战克隆金刚狼。
美国往事,9.2,往事如烟,无处祭奠。
沉默的羔羊,8.9,安东尼·霍普金斯的顶级表演。
禁闭岛,8.8,昔日翩翩少年,今日大腹便便。
蝴蝶效应,8.8,人的命运被自己瞬间的抉择改变。
低俗小说,8.9,故事的高级讲法。
心灵捕手,8.9,人生中应该拥有这样的一段豁然开朗。
布达佩斯大饭店,8.9,小清新的故事里注入了大历史的情怀。
七宗罪,8.8,警察抓小偷,老鼠玩死猫。
春光乍泄,8.9,爱情纠缠,男女一致。
哈利·波特与死亡圣器(下),8.9,10年的完美句点。
摩登时代,9.3,大时代中的人生,小人物的悲喜。
被嫌弃的松子的一生,8.9,以戏谑来戏谑戏谑。
喜剧之王,8.8,我是一个演员。
致命ID,8.8,最不可能的那个人永远是最可能的。
杀人回忆,8.9,关于连环杀人悬案的集体回忆。
加勒比海盗,8.8,约翰尼·德普的独角戏。
剪刀手爱德华,8.7,浪漫忧郁的成人童话。
勇敢的心,8.9,史诗大片的典范。
狩猎,9.1,人言可畏。
请以你的名字呼唤我,8.9,沉醉在电影的情感和视听氛围中无法自拔。
红辣椒,9.0,梦的勾结。
断背山,8.8,每个人心中都有一座断背山。
7号房的礼物,8.9,《我是山姆》的《美丽人生》。
天使爱美丽,8.7,法式小清新。
幽灵公主,8.9,人与自然的战争史诗。
小森林 夏秋篇,9.0,那些静得只能听见呼吸的日子里,你明白孤独即生活。
第六感,8.9,深入内心的恐怖,出人意料的结局。
阳光灿烂的日子,8.8,一场华丽的意淫。
重庆森林,8.8,寂寞没有期限。
超脱,8.9,穷尽一生,我们要学会的,不过是彼此拥抱。
功夫,8.7,警恶惩奸,维护世界和平这个任务就交给你了,好吗?
唐伯虎点秋香,8.7,华太师是黄霑,吴镇宇四大才子之一。
爱在黎明破晓前,8.8,缘分是个连绵词,最美不过一瞬。
小森林 冬春篇,9.0,尊敬他人,尊敬你生活的这片土地,明白孤独是人生的常态。
人生果实,9.5,土壤没有落叶不会肥沃,没有了你就不算人生。
一一,9.1,我们都曾经是一一。
蝙蝠侠:黑暗骑士崛起,8.8,诺兰就是保证。
入殓师,8.9,死可能是一道门,逝去并不是终结,而是超越,走向下一程。
菊次郎的夏天,8.8,从没见过那么流氓的温柔,从没见过那么温柔的流氓。
消失的爱人,8.7,年度最佳date movie。
无人知晓,9.1,我的平常生活就是他人的幸福。
倩女幽魂,8.7,两张绝世的脸。
侧耳倾听,8.9,少女情怀总是诗。
超能陆战队,8.7,Balalala~~~
哈利·波特与阿兹卡班的囚徒,8.8,不一样的导演,不一样的哈利·波特。
甜蜜蜜,8.9,相逢只要一瞬间,等待却像是一辈子。
完美的世界,9.1,坏人的好总是比好人的好来得更感人。
借东西的小人阿莉埃蒂,8.8,曾经的那段美好会沉淀为一辈子的记忆。
萤火之森,8.9,触不到的恋人。
爱在日落黄昏时,8.9,九年后的重逢是世俗和责任的交叠,没了悸动和青涩,沧桑而温暖。
驯龙高手,8.7,和谐的生活离不开摸头与被摸头。
玛丽和马克思,8.9,你是我最好的朋友,你是我唯一的朋友 。
幸福终点站,8.8,有时候幸福需要等一等。
告白,8.7,没有一人完全善,也没有一人完全恶。
大鱼,8.8,抱着梦想而活着的人是幸福的,怀抱梦想而死去的人是不朽的。
天书奇谭,9.2,传奇的年代,醉人的童话。
射雕英雄传之东成西就,8.7,百看不厌。
阳光姐妹淘,8.8,再多各自牛逼的时光,也比不上一起傻逼的岁月。
哈利·波特与密室,8.7,魔法的密室之门已打开...
怪兽电力公司,8.7,不要给它起名字,起了名字就有感情了。
恐怖直播,8.7,恐怖分子的“秋菊打官司”。
神偷奶爸,8.6,Mr. I Don&#39;t Care其实也有Care的时候。
时空恋旅人,8.8,把每天当作最后一天般珍惜度过,积极拥抱生活,就是幸福。
玩具总动员3,8.9,跨度十五年的欢乐与泪水。
傲慢与偏见,8.7,爱是摈弃傲慢与偏见之后的曙光。
教父3,8.9,任何信念的力量,都无法改变命运。
釜山行,8.6,揭露人性的丧尸题材力作。
血战钢锯岭,8.7,优秀的战争片不会美化战场,不会粉饰死亡,不会矮化敌人,不会无视常识,最重要的,不会宣扬战争。
哪吒闹海,9.1,想你时你在闹海。
一个叫欧维的男人决定去死,8.9,惠及一生的美丽。
被解救的姜戈,8.8,热血沸腾,那个低俗、性感的无耻混蛋又来了。
七武士,9.3,时代悲歌。
喜宴,8.9,中国家庭的喜怒哀乐忍。
未麻的部屋,9.0,好的剧本是,就算你猜到了结局也猜不到全部。
电锯惊魂,8.7,真相就在眼前。
我是山姆,9.0,爱并不需要智商 。
头号玩家,8.6,写给影迷,动漫迷和游戏迷的一封情书。
风之谷,8.9,动画片的圣经。
上帝之城,9.0,被上帝抛弃了的上帝之城。
英雄本色,8.7,英雄泪短,兄弟情长。
谍影重重3,8.8,像吃了苏打饼一样干脆的电影。
疯狂原始人,8.7,老少皆宜,这就是好莱坞动画的魅力。
卢旺达饭店,8.9,当这个世界闭上双眼,他却敞开了怀抱。
三块广告牌,8.7,怼天怼地,你走后,她与世界为敌。
花样年华,8.7,偷情本没有这样美。
新世界,8.9,要做就做得狠一点,这样才能活下去。
纵横四海,8.8,香港浪漫主义警匪动作片的巅峰之作。
模仿游戏,8.7,他给机器起名“克里斯托弗”,因为这是他初恋的名字。
达拉斯买家俱乐部,8.8,Jared Leto的腿比女人还美!
黑客帝国3:矩阵革命,8.8,不得不说,《黑客帝国》系列是商业片与科幻、哲学完美结合的典范。
岁月神偷,8.7,岁月流逝,来日可追。
心迷宫,8.7,荒诞讽刺,千奇百巧,抽丝剥茧,百转千回。
头脑特工队,8.7,愿我们都不用长大,每一座城堡都能永远存在。
记忆碎片,8.7,一个针管引发的血案。
你的名字。,8.4,穿越错位的时空,仰望陨落的星辰,你没留下你的名字,我却无法忘记那句“我爱你”。
忠犬八公物语,9.2,养狗三日,便会对你终其一生。
荒蛮故事,8.8,始于荒诞,止于更荒诞。
海街日记,8.8,是枝裕和的家庭习作。
真爱至上,8.6,爱,是个动词。
爆裂鼓手,8.7,这个世界从不善待努力的人,努力了也不一定会成功,但是知道自己在努力,就是活下去的动力。
贫民窟的百万富翁,8.6,上帝之城+猜火车+阿甘正传+开心辞典=山寨富翁
东邪西毒,8.6,电影诗。
惊魂记,9.0,故事的反转与反转,分裂电影的始祖。
萤火虫之墓,8.7,幸福是生生不息,却难以触及的远。
哈利·波特与火焰杯,8.6,黑暗之美。
小偷家族,8.7,我们组成了家。
无敌破坏王,8.7,迪士尼和皮克斯拿错剧本的产物。
你看起来好像很好吃,8.9,感情不分食草或者食肉。
绿里奇迹,8.9,天使暂时离开。
冰川时代,8.6,松鼠才是角儿。
爱在午夜降临前,8.8,所谓爱情,就是话唠一路,都不会心生腻烦,彼此嫌弃。
雨人,8.7,生活在自己的世界里,也可以让周围的人显得可笑和渺小。
九品芝麻官,8.6,中国版《两杆大烟枪》。
恋恋笔记本,8.5,爱情没有那么多借口,如果不能圆满,只能说明爱的不够。
恐怖游轮,8.5,不要企图在重复中寻找已经失去的爱。
雨中曲,9.0,骨灰级歌舞片。
魔女宅急便,8.7,宫崎骏的电影总让人感觉世界是美好的,阳光明媚的。
奇迹男孩,8.6,世界不完美,爱会有奇迹。
海边的曼彻斯特,8.6,我们都有权利不与自己的过去和解。
虎口脱险,8.9,永远看不腻的喜剧。
色,戒,8.5,假戏真情,爱欲深海
2001太空漫游,8.8,现代科幻电影的开山之作,最伟大导演的最伟大影片。
二十二,8.7,有一些东西不应该被遗忘。
人工智能,8.7,对爱的执着,可以超越一切。
城市之光,9.3,永远的小人物,伟大的卓别林。
房间,8.8,被偷走的岁月,被伤害的生命,被禁锢的灵魂,终将被希望和善意救赎。
可可西里,8.8,坚硬的信仰。
罗生门,8.8,人生的N种可能性。
终结者2:审判日,8.7,少见的超越首部的续集,动作片中的经典。
初恋这件小事,8.4,黑小鸭速效美白记。
大佛普拉斯,8.7,人们可以登上月球,却永远无法探索人们内心的宇宙。
遗愿清单,8.7,用剩余不多的时间,去燃烧整个生命。
波西米亚狂想曲,8.7,弱者送给弱者的一刀。
魂断蓝桥,8.8,中国式内在的美国电影。
源代码,8.5,邓肯·琼斯继《月球》之后再度奉献出一部精彩绝伦的科幻佳作。
新龙门客栈,8.6,嬉笑怒骂,调风动月。
青蛇,8.6,人生如此,浮生如斯。谁人言,花彼岸,此生情长意短。谁都是不懂爱的罢了。
疯狂的麦克斯4:狂暴之路,8.6,“多么美好的一天!”轰轰轰砰咚,啪哒哒哒轰隆隆,磅~
无耻混蛋,8.6,昆汀同学越来越变态了,比北野武还杜琪峰。
血钻,8.7,每个美丽事物背后都是滴血的现实。
步履不停,8.8,日本的家庭电影已经是世界巅峰了,步履不停是巅峰中的佳作。
燃情岁月,8.8,传奇,不是每个人都可以拥有。
海洋,9.1,大海啊,不全是水。
谍影重重2,8.7,谁说王家卫镜头很晃?
穿越时空的少女,8.6,爱上未来的你。
彗星来的那一夜,8.5,小成本大魅力。
无间道2,8.6,王家卫是一种风格,张国荣是一个代表。
战争之王,8.7,做一颗让别人需要你的棋子。
地球上的星星,8.9,天使保护事件始末。
完美陌生人,8.5,来啊,互相伤害啊!
谍影重重,8.6,哗啦啦啦啦,天在下雨,哗啦啦啦啦,云在哭泣……找自己。
香水,8.5,一个单凭体香达到高潮的男人。
千钧一发,8.8,一部能引人思考的科幻励志片。
黑客帝国2:重装上阵,8.6,一个精彩的世界观正在缓缓建立。
东京物语,9.2,东京那么大,如果有一天走失了,恐怕一辈子不能再相见。
崖上的波妞,8.6,你要相信,这世上真的有爱存在,不管在什么年纪
再次出发之纽约遇见你,8.6,爱我就给我看你的播放列表。
朗读者,8.6,当爱情跨越年龄的界限,它似乎能变得更久远一点,成为一种责任,一种水到渠成的相濡以沫。
驴得水,8.3,过去的如果就让它过去了,未来只会越来越糟!
聚焦,8.8,新闻人的理性求真。
猜火车,8.5,不可猜的青春迷笛。
浪潮,8.7,世界离独裁只有五天。
小萝莉的猴神大叔,8.4,宝莱坞的萝莉与大叔。
追随,8.9,诺兰的牛逼来源于内心散发出的恐惧。
黑鹰坠落,8.7,还原真实而残酷的战争。

问题:本应输出250行,结果却只有242行,缺少8行

经本人查阅后发现,第175部电影《寄生虫》因为没有 “名言”(代码中为quote),所以没有输出其name,score,quote,

我认为这是不合理的,因为一项的缺失,导致前面两项无法输出,

但如何更改,能做到同时爬取三项元素,即使部分元素为空,其他两项也能输出?

百千三昧 发表于 2021-5-22 06:55

thepoy 发表于 2021-5-22 07:46

说明是你的正则表达式有问题。
对正则表达式不熟番的话,在爬虫时尽量选择 lxml 解析器完成对 html 的解析。

蓝风 发表于 2021-5-22 09:06

try一下可能出现问题的地方,异常给个空值返回

chen299 发表于 2021-5-22 10:14

try一下放在名言中试试

fanvalen 发表于 2021-5-22 10:43

这代码里怎么多了p标签 还有pre code等标签

fanvalen 发表于 2021-5-22 10:44

看看是匹配丢失还是写入丢失
页: [1]
查看完整版本: 求助python爬虫,爬取到空项时如何输出?