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多线程学习资料
Dec 19 Python
python实现探测socket和web服务示例
Mar 28 Python
Python中Class类用法实例分析
Nov 12 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
Aug 30 Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
对python append 与浅拷贝的实例讲解
May 04 Python
python图像处理入门(一)
Apr 04 Python
python版DDOS攻击脚本
Jun 12 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
pandas针对excel处理的实现
Jan 15 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错误、异常处理类
2014/03/21 PHP
php str_replace替换指定次数的方法详解
2017/05/05 PHP
Laravel核心解读之异常处理的实践过程
2019/02/24 PHP
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
加速IE的Javascript document输出的方法
2010/12/02 Javascript
如何获取JQUERY AJAX返回的JSON结果集实现代码
2012/12/10 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
第一次接触Bootstrap框架
2016/10/24 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
浅谈小程序 setData学问多
2019/02/20 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
公司成立感言
2014/01/11 职场文书
品德评语大全
2014/05/05 职场文书
高中课前三分钟演讲稿
2014/09/13 职场文书
财务审计整改报告
2014/11/06 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
欢迎词怎么写
2015/01/23 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
搞笑婚礼主持词开场白
2015/11/24 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
centos7安装mysql5.7经验记录
2022/05/02 Servers