2019-08-01

如何下載圖片

# 圖片的下載
import requests
url = '[http://g.hiphotos.baidu.com/image/pic/item/5366d0160924ab18014cefd83bfae6cd7a890b82.jpg](qq://txfile/#)'
response = requests.get(url)
# 獲取bytes類型的響應(yīng)
data = response.content
with open('風(fēng)景.jpg','wb') as f:
    f.write(data)

如何翻頁

觀察網(wǎng)頁翻頁后url的變化执隧,運(yùn)用range和參數(shù)傳遞實(shí)現(xiàn)翻頁蜈七。

  for i in range(0, 250, 25):
        url = 'https://movie.douban.com/top250?start={}&filter='.format(i)

25為每一頁展示的電影數(shù)量;start=x表示當(dāng)前頁面從序號x的電影開始穷娱。

1. 豆瓣電影TOP250爬蟲

  • html源碼


    豆瓣TOP250源碼
  • 代碼實(shí)現(xiàn)

import requests
from lxml import etree
def spider_douban_top250():
    movie_list_info = []
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"}
    
    #觀察網(wǎng)頁翻頁url的變化讯屈,運(yùn)用range和參數(shù)傳遞實(shí)現(xiàn)翻頁
    for i in range(0, 250, 25):
        url = 'https://movie.douban.com/top250?start={}&filter='.format(i)

        # 獲取bytes類型響應(yīng)
        data = requests.get(url, headers=headers).content
        html = etree.HTML(data)



        ol_list = html.xpath('//div[@id="content"]//div[@class="article"]/ol/li')

        for movie in ol_list:
            # 影片序號
            serial_number = movie.xpath('./div[@class="item"]/div[@class="pic"]/em/text()')
            if len(serial_number) == 0:
                serial_number = ''
            else:
                serial_number = serial_number[0]
            # print(serial_number)
            # 電影的名字
            movie_name = movie.xpath('./div[@class="item"]/div[@class="info"]/div[@class="hd"]/a/span[1]/text()')[0]
            # print(movie_name)
            # 電影的介紹
            movie_introduce = movie.xpath('./div[@class="item"]/div[@class="info"]/div[@class="bd"]/p[1]/text()')[
                0].strip()
            # print(movie_introduce)
            # 電影的星級
            star = \
            movie.xpath('./div[@class="item"]/div[@class="info"]/div[@class="bd"]/div[@class="star"]/span[2]/text()')[0]
            # print(star)
            # 電影的評價(jià)
            evalute = movie.xpath(
                './div[@class="item"]/div[@class="info"]/div[@class="bd"]/div[@class="star"]/span[4]/text()')
            evalute = evalute[0].replace('人評價(jià)', '')
            # print(evalute)
            # 電影的描述
            describe = movie.xpath('./div[@class="item"]/div[@class="info"]/div[@class="bd"]/p[@class="quote"]/span[1]/text()')
            # print(describe)
            # 電影封面的地址
            movie_img_url = movie.xpath('./div[@class="item"]/div[@class="pic"]/a/img/@src')[0]
            # print(movie_img_url)

            movie_list_info.append({
                'serial_number': serial_number,
                'movie_name': movie_name,
                'movie_introduce': movie_introduce,
                'star': star,
                'evalute': evalute,
                'describe': describe,
                'movie_img_url': movie_img_url
            })
    for movie in movie_list_info:
        print(movie)

        # 下載圖片
    for movie in movie_list_info:
        url = movie['movie_img_url']
        resp = requests.get(url)
        if resp.status_code == 200:
            img_name = '0000000{}.jpg'.format(movie['serial_number'])
            with open('./imgs/{}'.format(img_name), 'wb') as f:
                f.write(resp.content)


spider_douban_top250()

這里使用的是lxml.etree而不是之前的lxml.html蛋哭,得到結(jié)果基本一致,但etree功能更多涮母。

  • 爬取結(jié)果


    爬取的電影信息

    下載的圖片

2. 爬取7k7k游戲信息

  • 7k7k網(wǎng)頁源碼


    7k7k源碼
  • 代碼實(shí)現(xiàn)
import requests
from lxml import etree
def spider_7k7k_top100():
    game_list_info = []
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"}
    #爬取10頁
    for i in range(0, 10):
        url = 'http://www.7k7k.com/tag/134/index_{}.htm#p-anchor'.format(i)

        # 獲取bytes類型響應(yīng)
        data = requests.get(url, headers=headers).content
        html = etree.HTML(data)



        ul_list = html.xpath('//div[@id="recommend-new-most"]//div[@class="ui-slide-cont"]/ul/li')
        #print(ul_list)

        for game in ul_list:
            # 游戲名字
            game_name = game.xpath('./a[@class="li-top-a"]/span/text()')
            print(game_name)

            # 游戲封面的地址
            imgs =  game.xpath('./a[@class="li-top-a"]/img/@src')
            if imgs:
                game_img_url = game.xpath('./a[@class="li-top-a"]/img/@src')[0]
            print(game_img_url)


            # 游戲鏈接
            game_link = 'http://www.7k7k.com{}'.format(game.xpath('./a[@class="li-top-a"]/@href')[0])
            #game_link = game.xpath('./a[@class="li-top-a"]/@href')[0]
            print(game_link)


            game_list_info.append({
                'game_name': game_name,
                'game_link': game_link,
                'game_img_url': game_img_url
            })
    for game in game_list_info:
        print(game)

    #下載圖片
    index = 1; #圖片索引
    for game in game_list_info:
        url = game['game_img_url']
        resp = requests.get(url)
        if resp.status_code == 200:
            img_name = '0000000{}.jpg'.format(i)
            with open('./imgs/{}'.format(img_name), 'wb') as f:
                f.write(resp.content)
        i += 1


spider_7k7k_top100()
  • 爬取結(jié)果


    爬取結(jié)果
  • 游戲封面


    下載游戲封面
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谆趾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子叛本,更是在濱河造成了極大的恐慌沪蓬,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件来候,死亡現(xiàn)場離奇詭異跷叉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)营搅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進(jìn)店門云挟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人转质,你說我怎么就攤上這事园欣。” “怎么了休蟹?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵沸枯,是天一觀的道長日矫。 經(jīng)常有香客問我,道長辉饱,這世上最難降的妖魔是什么搬男? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任拣展,我火速辦了婚禮彭沼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘备埃。我一直安慰自己姓惑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布按脚。 她就那樣靜靜地躺著于毙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辅搬。 梳的紋絲不亂的頭發(fā)上唯沮,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天,我揣著相機(jī)與錄音堪遂,去河邊找鬼介蛉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛溶褪,可吹牛的內(nèi)容都是我干的币旧。 我是一名探鬼主播,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼猿妈,長吁一口氣:“原來是場噩夢啊……” “哼吹菱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起彭则,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤鳍刷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后俯抖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體输瓜,經(jīng)...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年蚌成,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了前痘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,777評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡担忧,死狀恐怖芹缔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瓶盛,我是刑警寧澤最欠,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布示罗,位于F島的核電站,受9級特大地震影響芝硬,放射性物質(zhì)發(fā)生泄漏蚜点。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一拌阴、第九天 我趴在偏房一處隱蔽的房頂上張望绍绘。 院中可真熱鬧,春花似錦迟赃、人聲如沸陪拘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽左刽。三九已至,卻和暖如春酌媒,著一層夾襖步出監(jiān)牢的瞬間欠痴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工秒咨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喇辽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓拭荤,卻偏偏與公主長得像茵臭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子舅世,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,687評論 2 351

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

  • 那些值得看5遍以上的電影旦委! 最近是不是又鬧劇荒? 還是爛劇看多了想洗眼雏亚? 如果是缨硝,錦地傳媒專門為你準(zhǔn)備的,豆瓣8分...
    錦地傳媒閱讀 494評論 0 0
  • 電影修復(fù)路在何方罢低?——權(quán)利保護(hù)的視角 作者:娛樂法俱樂部(同名微信公眾號) 無論時(shí)代如何變幻查辩,書店中總會(huì)為四大名著...
    144ad0b250bc閱讀 285評論 0 0
  • 目錄 技術(shù)一面(23問) 技術(shù)二面(3大塊) 性能優(yōu)化(21點(diǎn)) 項(xiàng)目實(shí)戰(zhàn)(34塊) JAVA方向技術(shù)考察點(diǎn)(15...
  • 1宜岛、現(xiàn)代人多數(shù)是陽虛體質(zhì),艾灸能補(bǔ)陽功舀,是適合的養(yǎng)生方式 為什么說現(xiàn)代人合適做艾灸呢萍倡,原因有以下幾點(diǎn) (1)吹空調(diào),...
    巴里艾閱讀 416評論 0 0
  • 脂肪肝戴而,輕度有的僅有疲乏感凑术,而多數(shù)脂肪肝患者較胖,故更難發(fā)現(xiàn)輕微的自覺癥狀所意。中重度有類似慢性肝炎的表現(xiàn)淮逊,可有食欲不...
    井岡工社閱讀 237評論 0 0