国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ins視頻批量下載,instagram批量爬取視頻信息【爬蟲實戰(zhàn)課1】

這篇具有很好參考價值的文章主要介紹了ins視頻批量下載,instagram批量爬取視頻信息【爬蟲實戰(zhàn)課1】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

簡介

Instagram 是目前最熱門的社交媒體平臺之一,擁有大量優(yōu)質的視頻內容。但是要逐一下載這些視頻往往非常耗時。在這篇文章中,我們將介紹如何使用 Python 編寫一個腳本,來實現 Instagram 視頻的批量下載和信息爬取。
我們使用selenium獲取目標用戶的 HTML 源代碼,并將其保存在本地:



def get_html_source(html_url):
    option = webdriver.EdgeOptions()
    option.add_experimental_option("detach", True)
    # option.add_argument("--headless")  # 添加這一行設置 Edge 瀏覽器為無頭模式  不會顯示頁面
    # 實例化瀏覽器驅動對象,并將配置瀏覽器選項
    driver = webdriver.Edge(options=option)
    # 等待元素出現,再執(zhí)行操作
    driver.get(html_url)
    time.sleep(3)

    # ===============模擬操作鼠標滑輪====================
    i=1
    while True:
        # 1. 滾動至頁面底部
        last_height = driver.execute_script("return document.body.scrollHeight")
        driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
        time.sleep(4)
        # 2. 檢查是否已經滾動到底部
        new_height = driver.execute_script("return document.body.scrollHeight")
        if new_height == last_height:
            break
        logger.info(f"Scrolled to page{i}")
        i += 1
    html_source=driver.page_source
    driver.quit()
    return html_source
total_html_source = get_h

tml_source(f'https://imn/{username}/')
with open(f'./downloads/{username}/html_source.txt', 'w', encoding='utf-8') as file:
    file.write(total_html_source)

然后,我們遍歷每個帖子,提取相關信息并下載對應的圖片或視頻:,注意不同類型的帖子,下載爬取方式不一樣


def downloader(logger,downlod_url,file_dir,file_name):
    logger.info(f"====>downloading:{file_name}")
    # 發(fā)送 HTTP 請求并下載視頻
    response = requests.get(downlod_url, stream=True)
    # 檢查請求是否成功
    if response.status_code == 200:
        # 創(chuàng)建文件目錄
        if not os.path.exists("downloads"):
            os.makedirs("downloads")
        # 獲取文件大小
        total_size = int(response.headers.get('content-length', 0))
        # 保存視頻文件
        # 
        file_path = os.path.join(file_dir, file_name)
        with open(file_path, "wb") as f, tqdm(total=total_size, unit='B', unit_scale=True, unit_divisor=1024, ncols=80, desc=file_name) as pbar:
            for chunk in response.iter_content(chunk_size=1024):
                if chunk:
                    f.write(chunk)
                    pbar.update(len(chunk))
        logger.info(f"downloaded and saved as {file_path}")
        return file_path

    else:
        logger.info("Failed to download .")
        return "err"


def image_set_downloader(logger,id,file_dir,file_name_prx):
    logger.info("downloading image set========")
    image_set_url="https://imm"+id
    html_source=get_html_source(image_set_url)
    # # 打開或創(chuàng)建一個文件用于存儲 HTML 源代碼
    # with open(file_dir+file_name_prx+".txt", 'w', encoding='utf-8') as file:
    #     file.write(html_source)
# 4、解析出每一個帖子的下載url downlod_url
    download_pattern = r'data-proxy="" data-src="([^"]+)"'
    matches = re.findall(download_pattern, html_source)
    
    download_file=[]
    # # 輸出匹配到的結果
    for i, match in enumerate(matches, start=1):
        downlod_url = match.replace("amp;", "")
        file_name=file_name_prx+"_"+str(i)+".jpg"
        download_file.append(downloader(logger,downlod_url,file_dir,file_name))

    desc_pattern = r'<div class="desc">([^"]+)follow'
    desc_matches = re.findall(desc_pattern, html_source)
    desc=""
    for match in desc_matches:
       desc=match
       logger.info(f"desc:{match}")

    return desc,download_file


def image_or_video_downloader(logger,id,file_dir,file_name):
    logger.info("downloading image or video========")
    image_set_url="https://im"+id
    html_source=get_html_source(image_set_url)
    # # 打開或創(chuàng)建一個文件用于存儲 HTML 源代碼
    # with open(file_dir+file_name+".txt", 'w', encoding='utf-8') as file:
    #     file.write(html_source)
# 4、解析出每一個帖子的下載url downlod_url
    download_pattern = r'href="(https://scontent[^"]+)"'
    matches = re.findall(download_pattern, part)
    # # 輸出匹配到的結果
    download_file=[]
    for i, match in enumerate(matches, start=1):
        downlod_url = match.replace("amp;", "")
        download_file.append(downloader(logger,downlod_url,file_dir,file_name))
        # 文件名
    desc_pattern = r'<div class="desc">([^"]+)follow'
    desc_matches = re.findall(desc_pattern, html_source)
    desc=""
    for match in desc_matches:
       desc=match
       logger.info(f"desc:{match}")

    return desc,download_file
parts = total_html_source.split('class="item">')
posts_number = len(parts) - 2

logger.info(f"posts number:{posts_number} ")

for post_index, part in enumerate(parts, start=0):
    id = ""
    post_type = ""
    post_time = ""
    if post_index == 0 or post_index == len(parts) - 1:
        continue
    logger.info(f"==================== post {post_index} =====================================")

    # 解析出每個帖子的時間和 ID
    time_pattern = r'class="time">([^"]+)</div>'
    matches = re.findall(time_pattern, part)
    for match in matches:
        post_time = match
        logger.info(f"time:{match}")
    id_pattern = r'<a href="([^"]+)">'
    id_matches = re.findall(id_pattern, part)
    for match in id_matches:
        id = match
        logger.info(f"id:{id}")

    # 根據帖子類型進行下載
    if '#ffffff' in part:
        post_type = "Image Set"
        logger.info("post_type: Image Set")
        image_name_pex = "img" + str(post_index)
        desc, post_contents = image_set_downloader(logger, id, image_dir, image_name_pex)
    elif "video" in part:
        post_type = "Video"
        logger.info("post_type: Video")
        video_name = "video" + str(post_index) + ".mp4"
        desc, post_contents = image_or_video_downloader(logger, id, video_dir, video_name)
    else:
        logger.info("post_type: Image")
        post_type = "Image"
        img_name = "img" + str(post_index) + ".jpg"
        desc, post_contents = image_or_video_downloader(logger, id, image_dir, img_name)

    # 將信息寫入 Excel 文件
    exceller.write_row((post_index, post_time, post_type, desc, ', '.join(post_contents)))

最后,我們調用上述定義的函數,實現圖片/視頻的下載和 Excel 文件的寫入。

結果展示

ins視頻批量下載,instagram批量爬取視頻信息【爬蟲實戰(zhàn)課1】,爬蟲與多媒體,音視頻,爬蟲,selenium,自動化
ins視頻批量下載,instagram批量爬取視頻信息【爬蟲實戰(zhàn)課1】,爬蟲與多媒體,音視頻,爬蟲,selenium,自動化
ins視頻批量下載,instagram批量爬取視頻信息【爬蟲實戰(zhàn)課1】,爬蟲與多媒體,音視頻,爬蟲,selenium,自動化

ins視頻批量下載,instagram批量爬取視頻信息【爬蟲實戰(zhàn)課1】,爬蟲與多媒體,音視頻,爬蟲,selenium,自動化

源碼

想要獲取源碼的小伙伴加v:15818739505 ,手把手教你部署使用哦文章來源地址http://www.zghlxwxcb.cn/news/detail-855809.html

到了這里,關于ins視頻批量下載,instagram批量爬取視頻信息【爬蟲實戰(zhàn)課1】的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 爬蟲項目實戰(zhàn)——爬取B站視頻

    目標:對B站視頻詳情頁url進行視頻的爬取。 注:由于B站的音頻和視頻的鏈接是分開的,所以在提取是需要分別提取,然后進行合成。 這里只管提取,合成的工作以后再說。 發(fā)送請求 對于視頻詳情頁url地址發(fā)送請求 https://www.bilibili.com/video/BV11b4y1S7Jg 獲取數據 獲取響應體的文

    2024年02月07日
    瀏覽(21)
  • 爬蟲項目實戰(zhàn)2.1 Selenium爬取Boss招聘信息

    完成: 1.爬取信息 2.基于爬取結果篩選符合條件的信息 ? ?崗位名稱、薪資、崗位要求、地區(qū)、公司名稱、公司規(guī)模、細節(jié)鏈接 3.篩選base杭州的崗位保存到csv文件中 But容易出現網絡不穩(wěn)定造成的無法定位元素所在位置的情況,小范圍爬取可以 4.基于csv分析后續(xù)

    2024年02月05日
    瀏覽(25)
  • 爬蟲學習記錄之Python 爬蟲實戰(zhàn):爬取研招網招生信息詳情

    爬蟲學習記錄之Python 爬蟲實戰(zhàn):爬取研招網招生信息詳情

    【簡介】本篇博客 為愛沖鋒 ,爬取北京全部高校的全部招生信息,最后持久化存儲為表格形式,可以用作篩選高校。 此處導入本次爬蟲所需要的全部依賴包分別是以下內容,本篇博客將爬取研招網北京所有高校的招生信息,主要爬取內容為學校,考試方式,所在學院,專業(yè)

    2024年01月24日
    瀏覽(26)
  • 簡單python網絡爬蟲批量下載視頻

    簡單python網絡爬蟲批量下載視頻

    寒假閑來無事,決定嘗試一下用python寫一個小網絡爬蟲批量下載視頻。 由于是第一次寫網絡爬蟲,可以說是兩眼一抹黑,整個程序都是自己一點點試出來的,所以程序本身肯定有一些漏洞和缺陷,如果有建議請批評指正。 由于CSDN審核不允許出現具體網址否則會因為版權問題

    2023年04月08日
    瀏覽(30)
  • 爬蟲與數據分析項目實戰(zhàn)2.1 Selenium爬取Boss招聘信息

    完成: 1.爬取信息 2.基于爬取結果篩選符合條件的信息 ? ?崗位名稱、薪資、崗位要求、地區(qū)、公司名稱、公司規(guī)模、細節(jié)鏈接 3.篩選base杭州的崗位保存到csv文件中 But容易出現網絡不穩(wěn)定造成的無法定位元素所在位置的情況,小范圍爬取可以 4.基于csv分析后續(xù)

    2024年02月08日
    瀏覽(26)
  • 抖音視頻提取工具可導出視頻分享鏈接|視頻爬蟲批量下載

    抖音視頻提取工具可導出視頻分享鏈接|視頻爬蟲批量下載

    抖音無水印視頻批量下載工具操作指南 一、工具介紹 我們開發(fā)了一款功能強大的視頻批量下載工具,不僅能夠通過單個視頻鏈接進行提取,還可以通過進行視頻搜索,Q:290615413實現批量提取和有選擇性的下載。 二、操作步驟 2.1 批量提取視頻 進入軟件,點擊“

    2024年04月15日
    瀏覽(98)
  • 【Python爬蟲開發(fā)實戰(zhàn)②】使用urllib以及jsonpath爬取即將上映電影信息

    【Python爬蟲開發(fā)實戰(zhàn)②】使用urllib以及jsonpath爬取即將上映電影信息

    ?? 個人主頁 :為夢而生~ 關注我一起學習吧! ?? 專欄 :python網絡爬蟲從基礎到實戰(zhàn) 歡迎訂閱!后面的內容會越來越有意思~ ?? 往期推薦 : ??首先,我們前面講了多篇基礎內容: 【Python爬蟲開發(fā)基礎④】爬蟲原理 【Python爬蟲開發(fā)基礎⑤】HTML概述與基本標簽詳解 【P

    2024年02月12日
    瀏覽(29)
  • 短信視頻提取批量工具,免COOKIE,博主視頻下載抓取,爬蟲

    短信視頻提取批量工具,免COOKIE,博主視頻下載抓取,爬蟲

    痛點:關于看了好多市面的軟件,必須要先登錄自己的Dy號才能 然后找到自己的COOKIE 放入軟件才可以繼續(xù)搜索,并且無法避免長時間使用 會導致無法正常顯示頁面的問題。 有沒有一種方法 直接可以使用軟件,不用設置的COOKIE的方法呢 今日我們搞出新版本 通過云端算力獲取

    2024年04月25日
    瀏覽(28)
  • 【爬蟲實戰(zhàn)項目】Python爬蟲批量旅游景點信息數據并保存本地(附源碼)

    【爬蟲實戰(zhàn)項目】Python爬蟲批量旅游景點信息數據并保存本地(附源碼)

    今天給大家介紹的是Python爬蟲批量下載旅游景點信息數據,在這里給需要的小伙伴們代碼,并且給出一點小心得。 首先是爬取之前應該盡可能偽裝成瀏覽器而不被識別出來是爬蟲,基本的是加請求頭,但是這樣的純文本數據爬取的人會很多,所以我們需要考慮更換代理IP和隨

    2023年04月20日
    瀏覽(22)
  • Python爬蟲實戰(zhàn)(六)——使用代理IP批量下載高清小姐姐圖片(附上完整源碼)

    Python爬蟲實戰(zhàn)(六)——使用代理IP批量下載高清小姐姐圖片(附上完整源碼)

    本次爬取的目標是某網站4K高清小姐姐圖片: 實現批量下載指定的圖片,存放到指定文件夾中: Python:3.10 編輯器:PyCharm 第三方模塊,自行安裝: 爬蟲使用代理IP的好處有以下幾點: 輪換IP地址 :使用代理IP可以輪換IP地址,降低被封禁的風險,從而保持爬取的連續(xù)性

    2024年02月07日
    瀏覽(93)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包