Python获取豆瓣top250电影
admin
2023-07-30 20:32:26
0

豆瓣已经列出了评分排行前250的电影,我需要做的,只是用Python编写一个非常简单的程序,获得这些电影对应的「链接」和「标题」,然后打印出来即可。

运行结果

运行结果.jpg
运行结果.jpg

编码思路

用爬虫爬取给定初始链接的信息,然后用正则表达式筛选自己需要的信息就好了。主要是编写需要重复调用的函数,然后再重复调用即可。

源码

#coding:utf-8
#--------------------------------------------------
#   程序:获取豆瓣top250电影
#   作者:lazyboy
#   博客:http://blog.lazyboy.co/
#   日期:2014-12-20
#   语言:Python 2.7
#--------------------------------------------------
import requests,re
# 初始链接
url = \'http://movie.douban.com/top250\'
# 函数,获得电影链接和标题
def getlists(u):
    links = []
    titles = []
    r = requests.get(u)
    if r.status_code == 200:
        t = r.content
        p = re.compile(\'(?<=)(.|\\n)+?(?=)\')
        m = p.search(t)
        if m:
            alllists = m.group()
            p2 = re.compile(\'(?<=)\\n.+?(?=
  • )\') m2 = p2.split(alllists) p3 = re.compile(\'(?<=href=\").+?(?=\")\') p4 = re.compile(\'(?<=class=\"title\">).+?(?=)\') for i in range(0,len(m2)): m3 = p3.search(m2[i]) m4 = p4.search(m2[i]) if m3 and m4: links.append(m3.group()) titles.append(m4.group()) return (links,titles) # 函数,获得下一页网页链接 def nexturl(u): r = requests.get(u) if r.status_code == 200: t = r.content p = re.compile(\'(?<=rel=\"next\"\\shref=\").+?(?=\")\') m = p.search(t) if m: return \'http://movie.douban.com/top250\' + m.group() l,t = getlists(url) # 当存在下一页链接时,运行 while nexturl(url): url = nexturl(url) a,b = getlists(url) l,t = l+a,t+b # 最终链接保存在数组l,标题保存在数组t # 按照给定格式打印出来 for i in range(0,len(l)): print \'%s. [%s](%s)\' % (str(i+1),t[i].decode(\'utf-8\').encode(\'gbk\'),l[i])
  • 知识点拓展

    1. Python requests的安装与简单运用
    2. Python正则表达式指南

    相关内容

    热门资讯

    Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
    500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
    定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
    scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
    65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
    小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
    pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
    微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
    Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
    python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...