爬蟲之爬取貓眼電影專業(yè)版實(shí)時(shí)數(shù)據(jù)排行榜

貓眼電影專業(yè)版實(shí)時(shí)數(shù)據(jù)排行榜是個(gè)持續(xù)更新的用ajax寫成的網(wǎng)站,一般而言具伍,爬取它比較麻煩髓绽,需要使用ajax/js進(jìn)行爬取,python中的requests庫可以獲取網(wǎng)站的ajax竭鞍,再通過json庫解析,就可以完成爬取橄镜。

#貓眼電影實(shí)時(shí)爬取  
#2017/8/1  
import os  
import requests  
import json  
import time   
import csv  
  
#鏈接url  
def get_to_link():  
    try:  
        r = requests.get("https://box.maoyan.com/promovie/api/box/second.json")  
        r.raise_for_status()  
        r.encoding = r.apparent_encoding  
        return r.text  
    except:  
        print("鏈接錯(cuò)誤Y丝臁!洽胶!")  
        return ''  
  
#json化字符串  
def json_text(text):  
    jd = json.loads(text)  
    return jd  
  
#返回實(shí)時(shí)日期  
def date_time(jd):  
    ja = jd['data']  
    date = ja['queryDate']#返回日期  
    alltime = ja['updateInfo'].split()[1]#返回時(shí)間  
    money = ja['totalBox'] + ja['totalBoxUnit']#返回總票房  
    return date,alltime,money  
  
#返回影片票房  
def movie_price(jd):  
    jl = jd['data']['list']  
    for i,jls in enumerate(jl,1):  
        name = jls['movieName']#影片名  
        try:  
            days = jls['releaseInfo'][2]#上映時(shí)間  
        except:  
            days = '點(diǎn)映'  
        totalmoney = jls['sumBoxInfo']#影片總票房  
        mainmoney = jls['boxInfo']#綜合票房  
        moneyrate = jls['boxRate']#票房占比  
        shownumber = jls['showInfo']#排片場次  
        showrate = jls['showRate']#排片占比  
        people = jls['avgShowView']#場均人次  
        showpeople = jls['avgSeatView']#上座率  
          
        yield i,name,days,totalmoney,mainmoney,moneyrate,shownumber,showrate,people,showpeople  
  
#創(chuàng)建文件夾  
def makeasocket(path):  
    if not os.path.exists(path):  
        os.makedirs(path)  
      
#保存到csv中  
def save_to_csv(path,date,alltime,moeny,movie_price):  
    with open(path + '貓眼電影專業(yè)版實(shí)時(shí)數(shù)據(jù).csv','a') as f:  
        writer = csv.writer(f)  
        writer.writerow(['日期',date,'','時(shí)間',alltime,'','總票房',moeny])  
        writer.writerow(['排名','影片名','上映時(shí)間(/天)','影片總票房','綜合票房(/萬)','票房占比(%)','排片場次','排片占比(%)','場均人次','上座率(%)'])  
        for movie in movie_price:  
            writer.writerow([movie[0],movie[1],movie[2],movie[3],movie[4],movie[5],movie[6],movie[7],movie[8],movie[9]])  
  
  
  
def main():  
    path = 'D:/數(shù)據(jù)/貓眼電影專業(yè)版數(shù)據(jù)/'  
    makeasocket(path)  
    while True:    
        text = get_to_link()  
        jd = json_text(text)  
        date,alltime,moeny = date_time(jd)  
        print('***'*46)  
        print('{:>10s}:{}{:>10s}:{}{:>10s}:{}'.format('日期',date,'時(shí)間',alltime,'總票房',moeny))  
        print('---'*46)  
        print('{:^6s}{:^20s}{:^10s}{:^12s}{:^12s}{:^10s}{:^10s}{:^6s}{:^6s}{:^6s}'.format('排名','影片名','上映時(shí)間(/天)','影片總票房(/億)','綜合票房(/萬)','票房占比(%)','排片場次','排片占比(%)','場均人次','上座率(%)'))  
        print('---'*46)  
        for movie in movie_price(jd):  
            print('{:^6d}{:^20s}{:^20s}{:^20s}{:^12s}{:^11s}{:^13s}{:^10s}{:^10s}{:^10s}'.format(movie[0],movie[1],movie[2],movie[3],movie[4],movie[5],movie[6],movie[7],movie[8],movie[9]))  
            print('---'*46)  
        save_to_csv(path,date,alltime,moeny,movie_price(jd))  
        time.sleep(3)  
  
if __name__ == "__main__":  
    main()  
  
  
Contact GitHub API Training Shop Blog About  
? 2017 GitHub, Inc. Terms Privacy Security Statu  

github代碼參考:https://github.com/zhuxunyu/cinema-/blob/master/%E7%8C%AB%E7%9C%BC%E7%94%B5%E5%BD%B1%E5%AE%9E%E6%97%B6%E7%88%AC%E5%8F%96.py

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晒夹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子姊氓,更是在濱河造成了極大的恐慌惋戏,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件他膳,死亡現(xiàn)場離奇詭異响逢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)棕孙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進(jìn)店門舔亭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蟀俊,你說我怎么就攤上這事钦铺。” “怎么了肢预?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵矛洞,是天一觀的道長。 經(jīng)常有香客問我,道長沼本,這世上最難降的妖魔是什么噩峦? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮抽兆,結(jié)果婚禮上识补,老公的妹妹穿的比我還像新娘。我一直安慰自己辫红,他們只是感情好凭涂,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贴妻,像睡著了一般切油。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上名惩,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天澎胡,我揣著相機(jī)與錄音,去河邊找鬼绢片。 笑死滤馍,一個(gè)胖子當(dāng)著我的面吹牛岛琼,可吹牛的內(nèi)容都是我干的底循。 我是一名探鬼主播,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼槐瑞,長吁一口氣:“原來是場噩夢啊……” “哼熙涤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起困檩,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤祠挫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后悼沿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體等舔,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年糟趾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了慌植。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,742評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡义郑,死狀恐怖蝶柿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情非驮,我是刑警寧澤交汤,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站劫笙,受9級特大地震影響芙扎,放射性物質(zhì)發(fā)生泄漏星岗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一纵顾、第九天 我趴在偏房一處隱蔽的房頂上張望伍茄。 院中可真熱鬧,春花似錦施逾、人聲如沸敷矫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽曹仗。三九已至,卻和暖如春蠕搜,著一層夾襖步出監(jiān)牢的瞬間怎茫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工妓灌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留轨蛤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓虫埂,卻偏偏與公主長得像祥山,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子掉伏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 前端知識體系http://www.cnblogs.com/sb19871023/p/3894452.html 前端...
    秋風(fēng)喵閱讀 12,435評論 7 163
  • 七弦聲聲慢關(guān)情缝呕, 巖心自許兩生花。 極愿人間莫離別斧散, 夜月迢遞照吾家供常。
    柒夜閱讀 273評論 0 1
  • 在盛夏,來自窗外的 蟬鳴又開始催促鸡捐。 在你踟躇的腳下栈暇, 一切都凋謝得匆忙。 寬碩的葉子已經(jīng)褪去了青澀箍镜, 仍然溫柔地...
    安度無恙年華閱讀 220評論 3 3
  • 謝謝你帶給我的一切 記得最初見你還是在禮堂源祈,那時(shí)我們高一參加活動(dòng),我坐在你身旁鹿寨⌒虏回想起腦海那次也許是我記憶中第...
    然然的小饅頭閱讀 229評論 0 0