Python入手(一)

去年就說(shuō)要看一看 python(其實(shí)去年還說(shuō)要看C++/JavaScript)脓魏,看了一點(diǎn)兒語(yǔ)法之后一直沒再碰過了甘耿。最近寫 Android 寫的頭昏腦漲勇边,決定看點(diǎn) python 換下腦子锚沸。由于暫時(shí)打算用python玩一下第晰,所以就不深入追究語(yǔ)言細(xì)節(jié)碱茁,只做一些有趣的事情裸卫。本文將簡(jiǎn)單的提及以下內(nèi)容:

  • requests
  • BeautifulSoup
  • python io

用 Python 做什么

這里打算通過分析 豆瓣電影TOP250網(wǎng)頁(yè)來(lái)提取一些電影信息,通過干這件事來(lái)對(duì) python 的 io 纽竣、http 請(qǐng)求方式做一些簡(jiǎn)單的了解墓贿。分析網(wǎng)頁(yè)這里選擇使用 Beautiful Soup 來(lái)做標(biāo)簽解析,請(qǐng)求庫(kù)選用 requests蜓氨。

準(zhǔn)備工作

這里的目標(biāo)是拿到網(wǎng)頁(yè)聋袋,也就是html,然后分析提取內(nèi)容穴吹,這里的目標(biāo)網(wǎng)頁(yè)沒有什么特殊的驗(yàn)證機(jī)制幽勒,所以只需要通過 http 協(xié)議中的 get 請(qǐng)求方式獲取網(wǎng)頁(yè)響應(yīng)就可以了。

r = requests.get('https://github.com/timeline.json')

這里就要好好的看看了港令,因?yàn)樘崛⌒畔⑿枰玫竭@個(gè)庫(kù)啥容。這里我做了一些簡(jiǎn)單的了解,這個(gè)庫(kù)遍歷了 html 生成了一個(gè) python 對(duì)象顷霹,后續(xù)的解析就通過這個(gè)對(duì)象來(lái)完成咪惠。由于不了解這個(gè)庫(kù)的實(shí)現(xiàn)方式,所以還是有些擔(dān)憂效率的泼返,因?yàn)?html 這種嵌套層級(jí)可能非常多的東西硝逢,生成的類查找效率可能堪憂。不過現(xiàn)在也不想去考慮這些問題绅喉,暫時(shí)先用著~

分析主要就是分析一下一些自己感興趣信息的標(biāo)簽和屬性渠鸽,以此為鍵提取出相應(yīng)的值。分析網(wǎng)頁(yè)自帶的開發(fā)者工具真的是十分的好用柴罐,因?yàn)檫@里的網(wǎng)頁(yè)比較簡(jiǎn)單徽缚,在點(diǎn)擊切換界面的時(shí)候發(fā)現(xiàn)網(wǎng)頁(yè)鏈接 url 變化如下:
https://movie.douban.com/top250 ->
https://movie.douban.com/top250?start=25

nice,很簡(jiǎn)單革屠,想拿到全部250部電影信息只需要改變url的start參數(shù)值就可以了凿试。這里是簡(jiǎn)單的通過 get 請(qǐng)求傳參排宰,如果是 post 或者一些其他的方式傳參數(shù),就需要我們通過抓包工具去抓包分析數(shù)據(jù)包那婉。

編寫代碼

代碼其實(shí)非常簡(jiǎn)單板甘,如果按照我前面說(shuō)的步驟來(lái),基本不需要我做什么過多累贅的解釋(所以這里我就不做過多的解釋了):

# -*- coding: UTF-8 -*-
from bs4 import BeautifulSoup
import requests

count = 0
FILE_PATH = '豆瓣電影TOP250.txt'


def getMovieList():
    global count
    resp = requests.get('https://movie.douban.com/top250?start=' + str(count))
    bs = BeautifulSoup(resp.text, 'html.parser')
    for item in bs.find_all('div', {'class': 'item'}):
        title = item.find('span', {'class': 'title'}).get_text()
        rating_num = item.find('span', {'class': 'rating_num'}).get_text()
        img = item.find('img')['src']
        tag = item.find('span', {'class': 'inq'})
        if tag is not None:
            desc = tag.get_text()
            print('標(biāo)題:', title, ' 評(píng)分:', rating_num, ' 描述:', desc, ' image_url:', img)
            # img = item.find('div', {'class': 'pic'}).find("a").get_text()
            # print(title, img)
            f.writelines('標(biāo)題:' + title + ' 評(píng)分:' + rating_num + ' 描述:' + desc + ' image_url:' + img+"\n\n")
    count += 25
    if count >= 255:
        print('獲取完畢')
    else:
        getMovieList()


f = open(FILE_PATH, 'w+', encoding='utf-8')
getMovieList()
f.close()

輸出結(jié)果:

控制臺(tái)輸出
文件輸出

這里其實(shí)可以開多線程去訪問详炬,但是我對(duì)于 python 中的線程與線程安全還不是非常了解盐类,等下一次再玩玩。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末呛谜,一起剝皮案震驚了整個(gè)濱河市在跳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌隐岛,老刑警劉巖猫妙,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異聚凹,居然都是意外死亡割坠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門元践,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)韭脊,“玉大人,你說(shuō)我怎么就攤上這事单旁』Ω幔” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵象浑,是天一觀的道長(zhǎng)蔫饰。 經(jīng)常有香客問我,道長(zhǎng)愉豺,這世上最難降的妖魔是什么篓吁? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蚪拦,結(jié)果婚禮上杖剪,老公的妹妹穿的比我還像新娘。我一直安慰自己驰贷,他們只是感情好盛嘿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著括袒,像睡著了一般次兆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锹锰,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天芥炭,我揣著相機(jī)與錄音漓库,去河邊找鬼。 笑死园蝠,一個(gè)胖子當(dāng)著我的面吹牛渺蒿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播砰琢,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蘸嘶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼良瞧!你這毒婦竟也來(lái)了陪汽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤褥蚯,失蹤者是張志新(化名)和其女友劉穎挚冤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赞庶,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡训挡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了歧强。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澜薄。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖摊册,靈堂內(nèi)的尸體忽然破棺而出肤京,到底是詐尸還是另有隱情,我是刑警寧澤茅特,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布忘分,位于F島的核電站,受9級(jí)特大地震影響白修,放射性物質(zhì)發(fā)生泄漏妒峦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一兵睛、第九天 我趴在偏房一處隱蔽的房頂上張望肯骇。 院中可真熱鬧,春花似錦祖很、人聲如沸笛丙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)若债。三九已至,卻和暖如春拆融,著一層夾襖步出監(jiān)牢的瞬間蠢琳,已是汗流浹背啊终。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留傲须,地道東北人蓝牲。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像泰讽,于是被迫代替她去往敵國(guó)和親例衍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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

  • 聲明:本文講解的實(shí)戰(zhàn)內(nèi)容已卸,均僅用于學(xué)習(xí)交流佛玄,請(qǐng)勿用于任何商業(yè)用途! 一累澡、前言 強(qiáng)烈建議:請(qǐng)?jiān)陔娔X的陪同下梦抢,閱讀本文...
    Bruce_Szh閱讀 12,704評(píng)論 6 28
  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個(gè) Awesome - XXX 系列...
    aimaile閱讀 26,480評(píng)論 6 427
  • GitHub 上有一個(gè) Awesome - XXX 系列的資源整理,資源非常豐富,涉及面非常廣愧哟。awesome-p...
    若與閱讀 18,644評(píng)論 4 418
  • 我相信人是有能量的奥吩,兩個(gè)在一起的人不能消耗彼此的能量,而是應(yīng)該將這些能量一點(diǎn)一點(diǎn)儲(chǔ)存起來(lái)蕊梧,去開創(chuàng)新的生活霞赫,...
    楊璦嘉閱讀 925評(píng)論 0 0
  • 一. 早看榴花弄曉風(fēng),歸來(lái)怒放染高空肥矢。 千株列隊(duì)迎賓客端衰,萬(wàn)盞噴紅送亦情。 山里人家開朗笑橄抹,五洲商賈迭荒行靴迫。 臥龍藏...
    花開在眼前閱讀 523評(píng)論 0 1