1. 程式人生 > >[Python]抓取豆瓣電影列表的標題

[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]*</a>'#網址的正則表示式
    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))

執行效果如下:

 

螢幕快照 2015-07-31 上午9.51.01