使用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))
|
運行效果如下: