[Python]抓取豆瓣电影列表的标题

使用Python2.7写的脚本,用来抓取豆瓣电影评分排行的标题。代码如下:

#coding=utf-8
import urllib
import re #导入正则表达式库
global x  #全局变量
x=1
url="http://www.douban.com/doulist/240962/"

# 拿到网页内容
def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html
  
# 根据网页的内容拿到电影名字
def getName(html):
    global x
    name_reg=r'class="title">\n.+\n(.+)\n'#名字正则表达式
    name_comp= re.compile(name_reg)
    namelist = re.findall(name_comp,html)
    for aName in namelist:
        print "%s"%x+aName
        x+=1
      
# 获取其他页面的网址 生成列表返回(连续的分页)
def getUrlList(url):
    urlreg='href="(.+)" >[\d]*'#网址的正则表达式
    urlreg_com=re.compile(urlreg)
    urllist=re.findall(urlreg_com,getHtml(url))
    return urllist

urllist=getUrlList(url)#获得网址列表
getName(getHtml(url))#将本页面的电影名字输出
for aUrl in urllist:#依次从网址列表中的网址得到名字
    getName(getHtml(aUrl))

运行效果如下:

 

[Python]抓取豆瓣电影列表的标题_第1张图片

你可能感兴趣的:(Python)