python day09 獲取豆瓣電影top25集合

進階,獲取豆瓣top250的電影.評分,簡評

運行結果

/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/wjw/PycharmProjects/class9/豆瓣.py
[
<Movie:
  score = (9.6)
  name = (肖申克的救贖)
  quote = (希望讓人自由。)
>, 
<Movie:
  score = (9.4)
  name = (這個殺手不太冷)
  quote = (怪蜀黍和小蘿莉不得不說的故事。)
>, 
<Movie:
  score = (9.4)
  name = (阿甘正傳)
  quote = (一部美國近現代史赔硫。)
>, 
<Movie:
  score = (9.4)
  name = (霸王別姬)
  quote = (風華絕代。)
>, 
<Movie:
  score = (9.5)
  name = (美麗人生)
  quote = (最美的謊言愧驱。)
>, 
<Movie:
  score = (9.2)
  name = (千與千尋)
  quote = (最好的宮崎駿,最好的久石讓。 )
>, 
<Movie:
  score = (9.4)
  name = (辛德勒的名單)
  quote = (拯救一個人臼寄,就是拯救整個世界岖是。)
>, 
<Movie:
  score = (9.2)
  name = (海上鋼琴師)
  quote = (每個人都要走一條自己堅定了的路帮毁,就算是粉身碎骨实苞。 )
>, 
<Movie:
  score = (9.3)
  name = (機器人總動員)
  quote = (小瓦力,大人生烈疚。)
>, 
<Movie:
  score = (9.2)
  name = (盜夢空間)
  quote = (諾蘭給了我們一場無法盜取的夢黔牵。)
>, 
<Movie:
  score = (9.1)
  name = (泰坦尼克號)
  quote = (失去的才是永恒的。 )
>, 
<Movie:
  score = (9.1)
  name = (三傻大鬧寶萊塢)
  quote = (英俊版憨豆爷肝,高情商版謝耳朵猾浦。)
>, 
<Movie:
  score = (9.2)
  name = (放牛班的春天)
  quote = (天籟一般的童聲,是最接近上帝的存在灯抛。 )
>, 
<Movie:
  score = (9.2)
  name = (忠犬八公的故事)
  quote = (永遠都不能忘記你所愛的人跃巡。)
>, 
<Movie:
  score = (9.1)
  name = (大話西游之大圣娶親)
  quote = (一生所愛。)
>, 
<Movie:
  score = (9.1)
  name = (龍貓)
  quote = (人人心中都有個龍貓牧愁,童年就永遠不會消失素邪。)
>, 
<Movie:
  score = (9.2)
  name = (教父)
  quote = (千萬不要記恨你的對手,這樣會讓你失去理智猪半。)
>, 
<Movie:
  score = (9.2)
  name = (亂世佳人)
  quote = (Tomorrow is another day.)
>, 
<Movie:
  score = (9.1)
  name = (天堂電影院)
  quote = (那些吻戲兔朦,那些青春,都在影院的黑暗里被淚水沖刷得無比清晰磨确。)
>, 
<Movie:
  score = (8.9)
  name = (當幸福來敲門)
  quote = (平民勵志片沽甥。 )
>, 
<Movie:
  score = (9.0)
  name = (搏擊俱樂部)
  quote = (邪惡與平庸蟄伏于同一個母體,在特定的時間互相對峙乏奥。)
>, 
<Movie:
  score = (9.0)
  name = (楚門的世界)
  quote = (如果再也不能見到你摆舟,祝你早安,午安邓了,晚安恨诱。)
>, 
<Movie:
  score = (9.1)
  name = (觸不可及)
  quote = (滿滿溫情的高雅喜劇。)
>, 
<Movie:
  score = (9.1)
  name = (指環(huán)王3:王者無敵)
  quote = (史詩的終章骗炉。)
>, 
<Movie:
  score = (8.9)
  name = (羅馬假日)
  quote = (愛情哪怕只有一天照宝。)
>]

Process finished with exit code 0

源代碼

import requests
from lxml import html

class Model(object):
    def __repr__(self):
        class_name = self.__class__.__name__
        properties = ('{0} = ({1})'.format(k, v) for k, v in self.__dict__.items())
        return '\n<{0}:\n  {1}\n>'.format(class_name, '\n  '.join(properties))


class Movie(Model):
    def __init__(self):
        super(Movie, self).__init__()
        self.name = ''
        self.score = 0
        self.quote = ''
        self.cover_url = ''


def movie_from_div(div):
    movie = Movie()
    movie.name = div.xpath('.//span[@class="title"]')[0].text
    movie.score = div.xpath('.//span[@class="rating_num"]')[0].text
    movie.quote = div.xpath('.//span[@class="inq"]')[0].text
    img_url = div.xpath('.//div[@class="pic"]/a/img/@src')[0]
    print(img_url)
    movie.cover_url = img_url
    return movie


def movies_from_url(url):
    page = requests.get(url)
    root = html.fromstring(page.content)
    #                         <div class="item">
    movie_divs = root.xpath('//div[@class="item"]')
    # movies = [movie_from_div(div) for div in movie_divs]
    # 上面一行相當于下面四行
    movies = []
    for div in movie_divs:
        movie = movie_from_div(div)
        movies.append(movie)
    return movies


def download_img(url, name):
    r = requests.get(url)
    with open(name, 'wb') as f:
        f.write(r.content)


def save_covers(movies):
    for m in movies:
        download_img(m.cover_url, m.name + '.jpg')


def main():
    url = 'https://movie.douban.com/top250'
    movies = movies_from_url(url)
    print(movies)
    save_covers(movies)



if __name__ == '__main__':
    main()

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市句葵,隨后出現的幾起案子厕鹃,更是在濱河造成了極大的恐慌,老刑警劉巖乍丈,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剂碴,死亡現場離奇詭異,居然都是意外死亡轻专,警方通過查閱死者的電腦和手機忆矛,發(fā)現死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铭若,“玉大人洪碳,你說我怎么就攤上這事〉鹜溃” “怎么了瞳腌?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長镜雨。 經常有香客問我嫂侍,道長,這世上最難降的妖魔是什么荚坞? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任挑宠,我火速辦了婚禮,結果婚禮上颓影,老公的妹妹穿的比我還像新娘各淀。我一直安慰自己,他們只是感情好诡挂,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布碎浇。 她就那樣靜靜地躺著,像睡著了一般璃俗。 火紅的嫁衣襯著肌膚如雪奴璃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天城豁,我揣著相機與錄音苟穆,去河邊找鬼。 笑死唱星,一個胖子當著我的面吹牛雳旅,可吹牛的內容都是我干的。 我是一名探鬼主播间聊,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼岭辣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了甸饱?” 一聲冷哼從身側響起沦童,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叹话,沒想到半個月后偷遗,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡驼壶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年氏豌,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片热凹。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡泵喘,死狀恐怖泪电,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情纪铺,我是刑警寧澤相速,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站鲜锚,受9級特大地震影響突诬,放射性物質發(fā)生泄漏。R本人自食惡果不足惜芜繁,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一旺隙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧骏令,春花似錦蔬捷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至摘昌,卻和暖如春速妖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背聪黎。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工罕容, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人稿饰。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓锦秒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親喉镰。 傳聞我的和親對象是個殘疾皇子旅择,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內容