国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

段友福利:Python爬取段友之家貼吧圖片和小視頻

singerye / 2947人閱讀

摘要:由于最新的視頻整頓風(fēng)波,內(nèi)涵段子被迫關(guān)閉,廣大段友無(wú)家可歸,但是最近發(fā)現(xiàn)了一個(gè)段友的,版本更新也挺快,正在號(hào)召?gòu)V大段友回家,如下圖,有興趣的可以下載看看我不是打廣告的,沒(méi)收廣告費(fèi)的同時(shí),之前同事也發(fā)了一個(gè)貼吧的段子聚居地,客官稍等,馬上奉上

由于最新的視頻整頓風(fēng)波,內(nèi)涵段子APP被迫關(guān)閉,廣大段友無(wú)家可歸,但是最近發(fā)現(xiàn)了一個(gè)“段友”的app,版本更新也挺快,正在號(hào)召?gòu)V大段友回家,如下圖,有興趣的可以下載看看(ps:我不是打廣告的,沒(méi)收廣告費(fèi)的)

同時(shí),之前同事也發(fā)了一個(gè)貼吧的段子聚居地,客官稍等,馬上奉上連接:
段友之家 https://tieba.baidu.com/f?ie=...

然后呢,看到上面,確實(shí)好多段友在上面,于是乎,我就想爬取他們的圖片和小視頻,就有了這篇文章的主題:

其實(shí)吧,用Python爬取網(wǎng)站數(shù)據(jù)是最基礎(chǔ)的東西,也不難,但是我還想分享給大家,一起學(xué)習(xí)和交流。

爬取這些網(wǎng)站里的數(shù)據(jù)主要用的模塊是bs4、requests以及os,都是常用模塊

大概思路就是通過(guò)requests模塊請(qǐng)求網(wǎng)頁(yè)html數(shù)據(jù),然后通過(guò)bs4模塊下的BeautifulSoup分析請(qǐng)求的網(wǎng)頁(yè),然后通過(guò)css查找器查找內(nèi)涵段子的圖片以及小視頻的地址,主要實(shí)現(xiàn)代碼如下:

def download_file(web_url):
    """獲取資源的url"""
    # 下載網(wǎng)頁(yè)
    print("正在下載網(wǎng)頁(yè): %s..." % web_url)
    result = requests.get(web_url)
    soup = bs4.BeautifulSoup(result.text, "html.parser")
    # 查找圖片資源
    img_list = soup.select(".vpic_wrap img")
    if img_list == []:
        print("未發(fā)現(xiàn)圖片資源!")
    else:
        # 找到資源,開始寫入
        for img_info in img_list:
            file_url = img_info.get("bpic")
            write_file(file_url, 1)
    # 查找視頻資源
    video_list = soup.select(".threadlist_video a")
    if video_list == []:
        print("未發(fā)現(xiàn)視頻資源!")
    else:
        # 找到資源,開始寫入
        for video_info in video_list:
            file_url = video_info.get("data-video")
            write_file(file_url, 2)
    print("下載資源結(jié)束:", web_url)
    next_link = soup.select("#frs_list_pager .next")
    if next_link == []:
        print("下載資料結(jié)束!")
    else:
        url = next_link[0].get("href")
        download_file("https:" + url)

得到圖片以及視頻的地址之后,肯定還不夠,還得把這些資源寫入到本地,方式是通過(guò)二進(jìn)制的方式來(lái)讀取遠(yuǎn)程文件資源,然后分類寫入到本地,實(shí)現(xiàn)的主要代碼如下:

def write_file(file_url, file_type):
    """寫入文件"""
    res = requests.get(file_url)
    res.raise_for_status()
    # 文件類型分文件夾寫入
    if file_type == 1:
        file_folder = "nhdzjpg"
    elif file_type == 2:
        file_folder = "nhdzmp4"
    else:
        file_folder = "nhdzother"
    folder = os.path.exists(file_folder)
    # 文件夾不存在,則創(chuàng)建文件夾
    if not folder:
        os.makedirs(file_folder)
    # 打開文件資源,并寫入
    file_name = os.path.basename(file_url)
    str_index = file_name.find("?")
    if str_index > 0:
        file_name = file_name[:str_index]
    file_path = os.path.join(file_folder, file_name)
    print("正在寫入資源文件:", file_path)
    image_file = open(file_path, "wb")
    for chunk in res.iter_content(100000):
        image_file.write(chunk)
    image_file.close()
    print("寫入完成!")

最后,再奉上完整的代碼吧。要不然,會(huì)被人說(shuō)的,說(shuō)話說(shuō)一半,說(shuō)福利,也不給全,這就太不夠意思了。客官別急,馬上奉上……

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
爬取百度貼吧,段友之家的圖片和視頻
author: cuizy
time:2018-05-19
"""

import requests
import bs4
import os


def write_file(file_url, file_type):
    """寫入文件"""
    res = requests.get(file_url)
    res.raise_for_status()
    # 文件類型分文件夾寫入
    if file_type == 1:
        file_folder = "nhdzjpg"
    elif file_type == 2:
        file_folder = "nhdzmp4"
    else:
        file_folder = "nhdzother"
    folder = os.path.exists(file_folder)
    # 文件夾不存在,則創(chuàng)建文件夾
    if not folder:
        os.makedirs(file_folder)
    # 打開文件資源,并寫入
    file_name = os.path.basename(file_url)
    str_index = file_name.find("?")
    if str_index > 0:
        file_name = file_name[:str_index]
    file_path = os.path.join(file_folder, file_name)
    print("正在寫入資源文件:", file_path)
    image_file = open(file_path, "wb")
    for chunk in res.iter_content(100000):
        image_file.write(chunk)
    image_file.close()
    print("寫入完成!")


def download_file(web_url):
    """獲取資源的url"""
    # 下載網(wǎng)頁(yè)
    print("正在下載網(wǎng)頁(yè): %s..." % web_url)
    result = requests.get(web_url)
    soup = bs4.BeautifulSoup(result.text, "html.parser")
    # 查找圖片資源
    img_list = soup.select(".vpic_wrap img")
    if img_list == []:
        print("未發(fā)現(xiàn)圖片資源!")
    else:
        # 找到資源,開始寫入
        for img_info in img_list:
            file_url = img_info.get("bpic")
            write_file(file_url, 1)
    # 查找視頻資源
    video_list = soup.select(".threadlist_video a")
    if video_list == []:
        print("未發(fā)現(xiàn)視頻資源!")
    else:
        # 找到資源,開始寫入
        for video_info in video_list:
            file_url = video_info.get("data-video")
            write_file(file_url, 2)
    print("下載資源結(jié)束:", web_url)
    next_link = soup.select("#frs_list_pager .next")
    if next_link == []:
        print("下載資料結(jié)束!")
    else:
        url = next_link[0].get("href")
        download_file("https:" + url)


# 主程序入口
if __name__ == "__main__":
    web_url = "https://tieba.baidu.com/f?ie=utf-8&kw=段友之家"
    download_file(web_url)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/41818.html

相關(guān)文章

  • 首次公開,整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評(píng)論0 收藏0
  • 利用Python爬取百度貼吧圖片

    摘要:背景介紹我大一的時(shí)候?qū)W校就開設(shè)了,但是并沒(méi)有好好學(xué),基本等于是什么也不會(huì),最近才開始看,所以本身也是摸著石頭過(guò)河,見諒心得講真的,爬蟲確實(shí)不像別人想象的那樣簡(jiǎn)單,爬蟲首先要靜下心來(lái),細(xì)心尋找目標(biāo)網(wǎng)站的布局規(guī)律,最重要的是的變化,這是一個(gè)考驗(yàn) 背景介紹 我大一的時(shí)候?qū)W校就開設(shè)了 python,但是并沒(méi)有好好學(xué),基本等于是什么也不會(huì),最近才開始看,所以本身也是摸著石頭過(guò)河,見諒... 心得...

    YPHP 評(píng)論0 收藏0
  • 如何通過(guò)Python玩轉(zhuǎn)小視

    摘要:網(wǎng)頁(yè)都是來(lái)描述頁(yè)面信息。網(wǎng)頁(yè)都使用協(xié)議來(lái)傳輸數(shù)據(jù)。爬蟲的設(shè)計(jì)思路獲取視頻拼接完整獲取視頻播放地址下載視頻模塊使用安裝庫(kù)的七個(gè)主要方法找到單個(gè)視頻播放地址獲取網(wǎng)頁(yè)源代碼獲取播放地址下載視頻實(shí)現(xiàn)效果 什么是爬蟲? 就是抓取網(wǎng)頁(yè)數(shù)據(jù)的程序 爬蟲怎么抓取網(wǎng)頁(yè)數(shù)據(jù)? 網(wǎng)頁(yè)三大特征: 網(wǎng)頁(yè)都有自己唯一的URL。 網(wǎng)頁(yè)都是HTML來(lái)描述頁(yè)面信息。 網(wǎng)頁(yè)都使用http/https協(xié)議來(lái)傳輸HTML數(shù)...

    Charles 評(píng)論0 收藏0
  • 零基礎(chǔ)如何學(xué)爬蟲技術(shù)

    摘要:楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),。本文來(lái)源知乎作者路人甲鏈接楚江數(shù)據(jù)提供網(wǎng)站數(shù)據(jù)采集和爬蟲軟件定制開發(fā)服務(wù),服務(wù)范圍涵蓋社交網(wǎng)絡(luò)電子商務(wù)分類信息學(xué)術(shù)研究等。 楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),http://www.chujiangdata.com。 第一:Python爬蟲學(xué)習(xí)系列教程(來(lái)源于某博主:htt...

    KunMinX 評(píng)論0 收藏0
  • 圖片框住一個(gè)小視 談css padding百分比自適應(yīng)

    摘要:今天市場(chǎng)提出活動(dòng)頁(yè),活動(dòng)頁(yè)有一塊內(nèi)容是在一個(gè)手機(jī)背景圖框里播放視頻,網(wǎng)頁(yè)是適配的,設(shè)計(jì)師只給我一張帶有手機(jī)殼的背景圖。 今天市場(chǎng)提出活動(dòng)頁(yè),活動(dòng)頁(yè)有一塊內(nèi)容是在一個(gè)手機(jī)背景圖框里播放視頻,網(wǎng)頁(yè)是適配的,設(shè)計(jì)師只給我一張帶有手機(jī)殼的背景圖。 如果用JS畫應(yīng)該也是可以的,但一個(gè)簡(jiǎn)單的活動(dòng)頁(yè)沒(méi)必要,快速實(shí)現(xiàn)用背景圖調(diào)CSS最快。 showImg(https://segmentfault.c...

    jcc 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<