Python正则表达式匹配猫眼电影HTML信息
爬虫项目爬取猫眼电影TOP100电影信息
项目内容来自:https://github.com/Germey/MaoYan/blob/master/spider.py
由于其中需要爬取的包含电影名字、电影海报图片、演员、上映时间等众多信息,正则表达式代码较为复杂
在parse_one_page(html)获取HTML文本print(html)后得到以下信息:
#划线为匹配内容<dd> <i class="board-index board-index-1">1</i> #电影排名 <a href="fim/1203"title="霸王别姬" class="image-link" data-act"boarditem-click" data-val="{movieId:1203}"> <img src="//ms0.meituan.net/mywww/image/Loading_2.e3d934bf.png" alt="" class="poster-default"/> <img data-src="http://p1.meeituan.net/movie/20803f59291c47e1e116c11963cee19e68711.ing160w_22h_1e_1c" alt="霸王别姬” class="board-img" /> #image </a> <div class="board-item-main"> <div class="board-item-content"> <diy classamovie-item-info> <p Class="name"><a href"/ films/1293 title-"露王別姬”data-act=" boorditem-cltck"data-val="{ moved:1283]">霸王别姬</a></p> #title、actor和name <p class-star> 主演:张国荣,张丰毅,巩俐 </p> <p class"releasetime">上映时间:1993-01-01〔中国香港)</p> </div> #time <div class="movie-item-numher score-num"> <p class=score><i class="integer">9.</i><i class="fraction">6</i></p></div> #integer和fraction分数
详解正则表达式
pattern = re.compile( '<dd>.*?board-index.*?>(\d+)</i> .*?data-src="(.*?)".*?name"><a' #匹配电影排名index和电影海报image + '.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>' #匹配电影名name、明星演员actor和上映时间time + '.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>‘ #匹配integer和电影评分fraction , re.S)
正则表达式为:
def parse_one_page(html):pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a'+'.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>'+'.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>', re.S)items = re.findall(pattern, html)for item in items:yield {'index': item[0],'image': item[1],'title': item[2],'actor': item[3].strip()[3:],'time': item[4].strip()[5:],'score': item[5]+item[6]}
匹配成功之后输出的result.txt结果:
{"title": "霸王别姬", "image": "http://p1.meituan.net/movie/20803f59291c47e1e116c11963ce019e68711.jpg@160w_220h_1e_1c", "actor": "张国荣,张丰毅,巩俐", "time": "1993-01-01(中国香港)", "score": "9.6", "index": "1"} {"title": "肖申克的救赎", "image": "http://p0.meituan.net/movie/__40191813__4767047.jpg@160w_220h_1e_1c", "actor": "蒂姆·罗宾斯,摩根·弗里曼,鲍勃·冈顿", "time": "1994-10-14(美国)", "score": "9.5", "index": "2"} {"title": "本杰明·巴顿奇事", "image": "http://p0.meituan.net/movie/48/2207789.jpg@160w_220h_1e_1c", "actor": "布拉德·皮特,凯特·布兰切特,塔拉吉·P·汉森", "time": "2008-12-25(美国)", "score": "8.8", "index": "71"} {"title": "哈利·波特与死亡圣器(下)", "image": "http://p0.meituan.net/movie/76/612928.jpg@160w_220h_1e_1c", "actor": "丹尼尔·雷德克里夫,鲁伯特·格林特,艾玛·沃森", "time": "2011-08-04", "score": "9.0", "index": "72"} {"title": "这个杀手不太冷", "image": "http://p0.meituan.net/movie/fc9d78dd2ce84d20e53b6d1ae2eea4fb1515304.jpg@160w_220h_1e_1c", "actor": "让·雷诺,加里·奥德曼,娜塔莉·波特曼", "time": "1994-09-14(法国)", "score": "9.5", "index": "3"} {"title": "大话西游之大圣娶亲", "image": "http://p0.meituan.net/movie/b429501a792ae227deaa16bc25c2e07a122042.jpg@160w_220h_1e_1c", "actor": "周星驰,朱茵,罗家英", "time": "2014-10-24", "score": "9.4", "index": "73"} {"title": "致命魔术", "image": "http://p0.meituan.net/movie/12/2130469.jpg@160w_220h_1e_1c", "actor": "休·杰克曼,克里斯蒂安·贝尔,迈克尔·凯恩", "time": "2006-10-20(美国)", "score": "8.8", "index": "61"} {"title": "罗马假日", "image": "http://p0.meituan.net/movie/23/6009725.jpg@160w_220h_1e_1c", "actor": "格利高利·派克,奥黛丽·赫本,埃迪·艾伯特", "time": "1953-09-02(美国)", "score": "9.1", "index": "4"} {"title": "阿甘正传", "image": "http://p0.meituan.net/movie/53/1541925.jpg@160w_220h_1e_1c", "actor": "汤姆·汉克斯,罗宾·怀特,加里·西尼斯", "time": "1994-07-06(美国)", "score": "9.4", "index": "5"} {"title": "十二怒汉", "image": "http://p0.meituan.net/movie/86/2992612.jpg@160w_220h_1e_1c", "actor": "亨利·方达,李·科布,马丁·鲍尔萨姆", "time": "1957-04-13(美国)", "score": "9.1", "index": "62"} {"title": "倩女幽魂", "image": "http://p0.meituan.net/movie/85/3966083.jpg@160w_220h_1e_1c", "actor": "张国荣,王祖贤,午马", "time": "2011-04-30", "score": "9.1", "index": "74"}#省略
转载于:https://www.cnblogs.com/kumata/p/9078784.html
Python正则表达式匹配猫眼电影HTML信息相关推荐
- Python 正则表达式 解析猫眼电影网页
引导 题目 网页样例内容 正则表达式 输出结果 题目 根据网页源代码提取电影信息,格式如下: 获取内容由 board-index ***(排名). date-src(图片地址). title(影片名) ...
- python爬虫实战——猫眼电影案例
python爬虫实战--猫眼电影案例 ·背景 笔者上一篇文章<基于猫眼票房数据的可视化分析>中爬取了猫眼实时票房数据,用于展示近三年电影票房概况.由于数据中缺少导演/演员/编剧阵容等信 ...
- (伪)Python爬取猫眼电影(反反爬虫过程中遇到的坑)
Python爬取猫眼电影 1.打开一个猫眼电影的URL,例如本月的较火的电影<毒液:致命守护者>http://maoyan.com/films/42964 直接F12,查看审核元素,发现上 ...
- python爬取猫眼电影数据
每天一点点,记录学习每一步 近期爬虫项目: 1:python 爬取菜鸟教程python100题,百度贴吧图片反爬虫下载,批量下载 2:python爬虫爬取百度贴吧图片,requests方法 3:pyt ...
- python猫眼电影分析_用Python 爬取猫眼电影数据分析《无名之辈》
前言 作者: 罗昭成 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 http://note.youdao.com/noteshare?id=3054cce4add8a909e7 ...
- 利用python爬取猫眼电影,分析《大侦探皮卡丘》|凹凸数读
利用python爬取猫眼电影,分析<大侦探皮卡丘>,看看当皮卡丘长出绒毛,"丑拒"还是"真香"都在猫眼短评里了. 本文首发于微信公众号<凹凸数 ...
- Python爬取猫眼电影TOP100榜
Python爬取猫眼电影TOP100榜 兴趣点: 这个没什么特别的兴趣,只是单纯爬猫眼练手的人太多了,所以我也打算加入他们,对猫眼员工说一声不好意思了,哈哈哈! 爬取网址: 传送门:https://m ...
- Python正则表达式匹配中文
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 参照Py ...
- python正则表达式匹配字符串中的电话号码_Python正则表达式匹配字符串中的数字...
这篇文章主要介绍了Python正则表达式匹配字符串中的数字,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 1.使用"\d+"匹配全数字 代码: ...
最新文章
- php.ini centos,CentOS下修改php.ini后不生效的方法
- 【c++】5.函数传指针与传值特容易混淆的点
- revit2019 导出obj_revit、3dmax导出object文件软件操作说明.doc
- 博士申请 | 北京理工大学宋承天老师组招收目标感知与识别方向博士生
- 如何在单元测试中测试异步函数,block回调这种
- 数据分析之超市订单分析
- weakhashmap_Java WeakHashMap size()方法与示例
- Node.js:项目中的 package.json 格式
- Linux内核套接字(Socket)的设计与实现
- python远程同步文件_Python实现的远程文件自动打包并下载功能示例
- RAID简单介绍和Linux如何搭建一个RAID
- mvc基于 ajax实现菜单下拉列表
- Java实现贪吃蛇大作战小游戏(完整版)
- 【爬虫】python爬取微信公众号
- 《查理·芒格:你是一条狗-雾满拦江》
- Racket编程指南——24 命令行工具和你的编辑器选择
- 微信小程序使用云函数实现客户下单后商家小程序接收订单状态通知(通过发送统一服务消息uniformMessage.send实现)
- 如何查看网站服务器的速度,如何测试网站服务器访问速度?
- JAVA相关基础知识
- jmeter常见问题总结