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数组的处理代码
Jan 04 Python
利用python实现命令行有道词典的方法示例
Jan 31 Python
浅谈function(函数)中的动态参数
Apr 30 Python
Python从文件中读取数据的方法讲解
Feb 14 Python
使用python打印十行杨辉三角过程详解
Jul 10 Python
Python range、enumerate和zip函数用法详解
Sep 11 Python
python字典排序的方法
Oct 12 Python
Python 3.6打包成EXE可执行程序的实现
Oct 18 Python
Python lambda表达式原理及用法解析
Aug 18 Python
python时间time模块处理大全
Oct 25 Python
Pandas数据分析的一些常用小技巧
Feb 07 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 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
一个显示天气预报的程序
2006/10/09 PHP
优化php效率,提高php性能的一些方法
2011/03/24 PHP
php判断变量类型常用方法
2012/04/24 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
jquery实现控制表格行高亮实例
2013/06/05 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
使用clipboard.js实现复制功能的示例代码
2017/10/16 Javascript
Webpack 4.x搭建react开发环境的方法步骤
2018/08/15 Javascript
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
python将数组n等分的实例
2019/12/02 Python
用css3写出气球样式的示例代码
2017/09/11 HTML / CSS
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
副校长竞聘演讲稿
2014/09/01 职场文书
十岁生日答谢词
2015/01/05 职场文书
教师工作态度自我评价
2015/03/05 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS
Python中的socket网络模块介绍
2022/07/23 Python
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript