• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Python爬取視頻的設計與實現(xiàn)

    2021-06-02 23:46:24胡雅麗
    通信電源技術 2021年3期
    關鍵詞:類庫爬蟲搜索引擎

    胡雅麗

    (山西青年職業(yè)學院 計算機與信息工程系,山西 太原 037000)

    關鍵字:Python;網(wǎng)絡爬蟲;數(shù)據(jù)分析

    0 引 言

    近年來,隨著互聯(lián)網(wǎng)大數(shù)據(jù)、云計算以及人工智能等技術的迅猛發(fā)展,各行各業(yè)產(chǎn)生了大量的數(shù)據(jù),其中數(shù)據(jù)的海量性、開放性以及實時性成為數(shù)據(jù)挖掘的主要特性。在數(shù)據(jù)共享的時代,人們?nèi)绾潍@取到對自己有價值的數(shù)據(jù)已經(jīng)成為炙手可熱的話題,而搜索引擎以其獨有的特點抓住了這次機會,可以極大可能地搜索到大量的網(wǎng)頁。利用搜索引擎中重要的網(wǎng)絡爬蟲模塊可以實現(xiàn)對網(wǎng)頁中相關信息的自動搜集及定向采集,用戶只需要在搜索引擎中輸入關鍵字檢索網(wǎng)頁,一大批與之有關的網(wǎng)頁信息就會被查找出來,而網(wǎng)絡爬蟲作為引擎的重要組成部分,在搜索網(wǎng)頁中起著至關重要的作用。Python語言中提供了很多爬蟲框架,利用Python語言爬蟲數(shù)據(jù)變得更加高效,在一定程度上大大地節(jié)省了人力和物力資源[1]。

    1 Python簡介

    Python是一門動態(tài)的、跨平臺的、面向?qū)ο蟮囊约敖忉屝偷挠嬎銠C腳本語言,由于其代碼規(guī)范簡潔、關鍵字相對較少且說明文檔很簡單,容易上手,因此也被稱為可執(zhí)行的偽代碼。它可以使人們只關心完成什么樣的工作任務,而不是糾結(jié)于語法。它能夠?qū)⒂闷渌Z言制作的各種模塊很輕松地聯(lián)結(jié)在一起,常被昵稱為膠水語言,擴展性很強,可以調(diào)用C和C++等編寫的程序,也可以在其他程序中使用,或?qū)σ恍┸浖M行二次開發(fā)。另外,Python是開源的,它擁有非常多優(yōu)秀的庫,可以用于數(shù)據(jù)分析等。更重要的是,Python與開源大數(shù)據(jù)平臺Hadoop具有很好的兼容性。

    2 Python數(shù)據(jù)分析

    數(shù)據(jù)的類型多種多樣,通過Python數(shù)據(jù)分析人們可獲知數(shù)據(jù)中的數(shù)量、用詞以及發(fā)送時間。Python數(shù)據(jù)分析的主要目的就是將一大批隱藏的雜亂無章的數(shù)據(jù)信息提煉出來,找到其中的內(nèi)在規(guī)律,幫助用戶做出正確的判斷,從而進行決策。其具有豐富和強大的庫,能夠處理很多工作,常用的類庫有IPython、Pandas以及Spyder等。其中IPython能夠提高編寫、測試以及調(diào)試Python的速度,Pandas是Python數(shù)據(jù)分析的核心庫,Spyder是一個強大的交互式Python語言開發(fā)環(huán)境[2]。一個完整的數(shù)據(jù)分析項目大致可分為5個流程,具體如圖1所示。

    圖1 Python數(shù)據(jù)分析流程圖

    3 網(wǎng)絡爬蟲

    3.1 簡 介

    網(wǎng)絡爬蟲的實質(zhì)就是利用Python程序設計語言抓取網(wǎng)頁內(nèi)容。根據(jù)用戶的需求,遵循一定的規(guī)則,自動抓取網(wǎng)頁中有價值的數(shù)據(jù)[3]。在爬蟲過程中,需要一個隊列來存放獲取網(wǎng)頁數(shù)據(jù)的所有URL,從第一個初始的URL打開指定的網(wǎng)頁,選擇需要進行爬蟲的內(nèi)容,獲取網(wǎng)頁中源代碼的全部鏈接信息,將獲取到新的URL放置在URL隊列中,只要用戶爬蟲數(shù)據(jù)的任務沒有完成,這個過程將會一直執(zhí)行下去,直到爬蟲結(jié)束將其關閉[4,5]。

    3.2 網(wǎng)絡爬蟲分類

    網(wǎng)絡爬蟲一般分為通用和聚焦兩種類型。其中通用類型的網(wǎng)絡爬蟲也稱為全網(wǎng)爬蟲,利用搜索引擎,爬取種子頁面(百度、谷歌、雅虎等),繼而通過并行方式爬取互聯(lián)網(wǎng)上所有數(shù)據(jù),主要目的是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地,形成一個互聯(lián)網(wǎng)內(nèi)容的鏡像備份[6]。相比于通用網(wǎng)絡爬蟲,聚焦類型的網(wǎng)絡爬蟲則是面向特定主題需求的一種網(wǎng)絡爬蟲程序,是有針對性的爬取與主題相關的數(shù)據(jù),過濾掉與主題無關的數(shù)據(jù),節(jié)省了硬件和網(wǎng)絡資源,頁面更新快[7]。

    3.3 工作機制

    網(wǎng)絡爬蟲一般首先要找到需要爬取的網(wǎng)頁URL,將這些種子URL加入到待抓取URL隊列中,其次選擇合適的爬蟲工具從URL隊列中取出待取URL,通過Python代碼解析DNS得到主機的IP地址,并將URL對應的網(wǎng)頁下載下來,最后將爬取的網(wǎng)頁數(shù)據(jù)保存在數(shù)據(jù)庫中。在爬取網(wǎng)頁URL時,還會提取其他新的網(wǎng)頁URL,此時需要將新提取出來的種子URL加入到待抓取URL隊列中,再次解析DNS,從而進入下一個循環(huán)[8-10]。網(wǎng)絡爬蟲的工作機制如圖2所示。

    圖2 網(wǎng)絡爬蟲的工作機制

    4 爬取視頻

    4.1 導入Python類庫

    首先需要導入Python爬蟲需要的類庫,其中os庫是標準庫,用來完成基本的交互功能,requests庫是第三方庫,可以直接構(gòu)建常用的get和post請求并發(fā)起,lxml和etree是通過xpath解析DOM樹,urllib和request是負責打開瀏覽url內(nèi)的html文本。導入Python類庫為:

    4.2 提取數(shù)據(jù)

    利用User-Agent獲取當前目標網(wǎng)站的Http協(xié)議中頭部信息,提供當前瀏覽器類型、操作系統(tǒng)及版本、CPU類型、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等信息的標識。具體為:

    4.3 存儲數(shù)據(jù)

    存儲數(shù)據(jù)的程序為:

    4.4 創(chuàng)建主函數(shù)

    創(chuàng)建主函數(shù)為:

    5 結(jié) 論

    目前,互聯(lián)網(wǎng)上的數(shù)據(jù)多且復雜,用戶想要在短時間內(nèi)獲取到有價值的數(shù)據(jù)很困難。本文針對某網(wǎng)站的視頻進行爬取進行了簡單的闡述,使用具有強大功能的Python語言在爬取視頻時提供重要的支持,爬取的視頻以mp4文件的形式保存在程序中指定的目錄下,以極快的速度獲得了想要的信息。

    猜你喜歡
    類庫爬蟲搜索引擎
    利用網(wǎng)絡爬蟲技術驗證房地產(chǎn)灰犀牛之說
    基于Python的網(wǎng)絡爬蟲和反爬蟲技術研究
    用Java編寫客戶機/服務器端應用程序
    Python在數(shù)據(jù)可視化中的應用
    利用爬蟲技術的Geo-Gnutel la VANET流量采集
    電子測試(2018年1期)2018-04-18 11:53:04
    數(shù)據(jù)結(jié)構(gòu)課程教學改革方案和應用效果
    軟件工程(2017年12期)2018-01-29 17:35:55
    數(shù)據(jù)結(jié)構(gòu)可視化類庫的設計與實現(xiàn)
    大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡爬蟲技術
    電子制作(2017年9期)2017-04-17 03:00:46
    網(wǎng)絡搜索引擎亟待規(guī)范
    基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
    兴安盟| 本溪| 烟台市| 大埔区| 长沙县| 保德县| 上蔡县| 永州市| 临漳县| 福鼎市| 贵港市| 栾川县| 景谷| 西乡县| 光山县| 抚松县| 游戏| 辽宁省| 遂川县| 海门市| 富锦市| 新巴尔虎右旗| 恩平市| 泾川县| 安塞县| 道真| 徐闻县| 吴忠市| 高安市| 神农架林区| 古丈县| 平度市| 农安县| 湛江市| 渝北区| 会东县| 奉新县| 禄丰县| 塔河县| 鄂托克前旗| 额济纳旗|