python正则匹配抓取豆瓣电影链接和评论代码分享


Posted in Python onDecember 27, 2013
import urllib.request
import re
import time
def movie(movieTag):
    tagUrl=urllib.request.urlopen(url)
    tagUrl_read = tagUrl.read().decode('utf-8')
    return tagUrl_read
def subject(tagUrl_read):
    ''' 
        这里还存在问题:
        ①这只针对单独的一页进行排序,而没有对全部页面的电影进行排序
        ②下次更新添加电影链接,考虑添加电影海报
        ③需要追加列表
        ④导入到本地txt或excel中
        ⑤在匹配电影名字时是否可以同时匹配链接与名字、评分、评论组成数组
        ⑥
    '''
#正则表达式匹配电影的名字(链接)、评分与评论    
    nameURL = re.findall(r'(http://movie.douban.com/subject/[0-9.]+)\/"\s+title="(.+)"',tagUrl_read)
    scoreURL = re.findall(r'<span\s+class="rating_nums">([0-9.]+)<\/span>',tagUrl_read)
    evaluateURL = re.findall(r'<span\s+class="pl">\((\w+)人评价\)<\/span>',tagUrl_read)
    movieLists = list(zip(nameURL,scoreURL,evaluateURL))
    newlist.extend(movieLists)
    return newlist
#用quote处理特殊(中文)字符
movie_type = urllib.request.quote(input('请输入电影类型(如剧情、喜剧、悬疑):'))
page_end=int(input('请输入搜索结束时的页码:'))
num_end=page_end*20
num=0
page_num=1
newlist=[]
while num<num_end:
    url=r'http://movie.douban.com/tag/%s?start=%d'%(movie_type,num)
    movie_url = movie(url)
    subject_url=subject(movie_url)
    num=page_num*20
    page_num+=1
else:
    #使用sorted函数对列表进行排列,reverse参数为True时升序,默认或False时为降序, key=lambda还不是很明白这里的原理
    movieLIST = sorted(newlist, key=lambda movieList : movieList[1],reverse = True)
    for movie in movieLIST:
        print(movie)
time.sleep(3)
print('结束')
Python 相关文章推荐
python中实现php的var_dump函数功能
Jan 21 Python
Python中用PIL库批量给图片加上序号的教程
May 06 Python
Python及Django框架生成二维码的方法分析
Jan 31 Python
Python wxPython库Core组件BoxSizer用法示例
Sep 03 Python
python多个模块py文件的数据共享实例
Jan 11 Python
Django REST framework 视图和路由详解
Jul 19 Python
Python实现语音识别和语音合成功能
Sep 20 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 Python
使用已经得到的keras模型识别自己手写的数字方式
Jun 29 Python
彻底解决Python包下载慢问题
Nov 15 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
Dec 07 Python
python正则表达式去掉数字中的逗号(python正则匹配逗号)
Dec 25 #Python
python正则表达式判断字符串是否是全部小写示例
Dec 25 #Python
netbeans7安装python插件的方法图解
Dec 24 #Python
python批量修改文件后缀示例代码分享
Dec 24 #Python
python模拟新浪微博登陆功能(新浪微博爬虫)
Dec 24 #Python
python复制文件代码实现
Dec 23 #Python
python定时采集摄像头图像上传ftp服务器功能实现
Dec 23 #Python
You might like
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
广告切换效果(缓动切换)
2009/05/27 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
2016/12/23 Javascript
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
2017/02/02 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
浅谈super-vuex使用体验
2018/06/25 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
关于引入vue.js 文件的知识点总结
2020/01/28 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
Openlayers+EasyUI Tree动态实现图层控制
2020/09/28 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
[52:29]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第三局
2016/03/03 DOTA
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
python实现mean-shift聚类算法
2020/06/10 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
酒店保安领班职务说明书
2014/03/04 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
Python学习之包与模块详解
2022/03/19 Python
讲解MySQL增删改操作
2022/05/06 MySQL