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调用java模块SmartXLS和jpype修改excel文件的方法
Apr 28 Python
在Django的视图中使用form对象的方法
Jul 18 Python
使用Python脚本生成随机IP的简单方法
Jul 30 Python
Django入门使用示例
Dec 12 Python
python与sqlite3实现解密chrome cookie实例代码
Jan 20 Python
python pandas中对Series数据进行轴向连接的实例
Jun 08 Python
Python求解任意闭区间的所有素数
Jun 10 Python
python创建文件备份的脚本
Sep 11 Python
python变量赋值方法(可变与不可变)
Jan 12 Python
Python标准库使用OrderedDict类的实例讲解
Feb 14 Python
python使用rsa非对称加密过程解析
Dec 28 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 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
ZF等常用php框架中存在的问题
2008/01/10 PHP
探讨php中header的用法详解
2013/06/07 PHP
php使用curl检测网页是否被百度收录的示例分享
2014/01/31 PHP
php新浪微博登录接口用法实例
2014/12/23 PHP
PHP异常处理Exception类
2015/12/11 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
js函数与php函数的区别实例浅析
2015/01/12 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
Python格式化压缩后的JS文件的方法
2015/03/05 Python
python使用pil生成缩略图的方法
2015/03/26 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
使用Python进行AES加密和解密的示例代码
2018/02/02 Python
django将图片上传数据库后在前端显式的方法
2018/05/25 Python
Python中实现输入超时及如何通过变量获取变量名
2020/01/18 Python
python基于property()函数定义属性
2020/01/22 Python
Python新手学习装饰器
2020/06/04 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
浅析Python的命名空间与作用域
2020/11/25 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
装潢设计专业推荐信模板
2013/11/26 职场文书
税务干部鉴定材料
2014/02/11 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
2014年收银工作总结
2014/11/13 职场文书
高一数学教学反思
2016/02/18 职场文书
Redis集群的关闭与重启操作
2021/07/07 Redis
python数字图像处理之图像的批量处理
2022/06/28 Python