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实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
基于python中staticmethod和classmethod的区别(详解)
Oct 24 Python
一个Python最简单的接口自动化框架
Jan 02 Python
python+pandas+时间、日期以及时间序列处理方法
Jul 10 Python
解决pycharm 误删掉项目文件的处理方法
Oct 22 Python
python 循环读取txt文档 并转换成csv的方法
Oct 26 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
Oct 26 Python
python调用opencv实现猫脸检测功能
Jan 15 Python
python实现大转盘抽奖效果
Jan 22 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
Python小整数对象池和字符串intern实例解析
Mar 21 Python
基于Tensorflow一维卷积用法详解
May 22 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
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
js CSS操作方法集合
2008/10/31 Javascript
根据json字符串生成Html的一种方式
2013/01/09 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
python Flask 装饰器顺序问题解决
2018/08/08 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
Python中的类与类型示例详解
2019/07/10 Python
pandas 对group进行聚合的例子
2019/12/27 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
自我鉴定范文300字
2013/10/01 职场文书
中专生求职自荐信范文
2013/12/22 职场文书
会计个人实习计划书
2014/08/15 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
酒店前台岗位职责
2015/04/16 职场文书
校长一岗双责责任书
2015/05/09 职场文书
校车司机安全责任书
2015/05/11 职场文书
《搭石》教学反思
2016/02/18 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python
前端canvas中物体边框和控制点的实现示例
2022/08/05 Javascript