999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python的豆瓣電影網絡爬蟲設計

2020-10-20 11:41:23周萍李歌
西部論叢 2020年7期

周萍 李歌

摘 要:該文通過剖析豆瓣電影網頁源代碼,借助Python性能完備的標準庫、強大的第三方庫requests、BeautifulSoup 及selenium等,編寫程序快速實現豆瓣電影用戶模擬登錄、指定數據的抓取和保存。該文研究為培養數據挖掘和分析能力奠定了基礎。

關鍵詞:數據爬取;Python;網絡爬蟲

1前言

現在已經是大數據和人工智能的時代,信息數據的價值顯得越來越重要,而為了從海量蕪雜的信息數據中獲得需要的信息,需要對數據進行挖掘與分析。在進行大數據分析或數據挖掘時,我們能夠去一些比較大型的官方站點下載數據源。然而這些取得數據的模式,有時很難精確滿足對數據的需求,而通過自行手動從互聯網中去查找這些數據,消耗的精力和時間又太多。這時就能夠使用爬蟲技術,自動地從互聯網中查找滿足特定需要的數據內容,并將這些信息內容爬取回來作為我們的數據源,以便下步進行數據分析和挖掘。由此可見在隨著對大數據獲取需求的增大,網絡爬蟲的地位會越來越凸顯。文章通過利用Python自帶的標準庫,對網絡爬蟲原理進行了研究并實現了豆瓣電影網站上數據的提取,為接下來進行數據可視化顯示和數據分析積累了數據源。Python語法結構簡單易學,自帶有豐富的標準庫和第三方庫供程序員使用,可擴展使用于多種平臺。Python爬蟲工具包使用方便,數據抓取功能強大。

2 相關技術

2.1 python

Python是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。它語法簡單明確,易于讀寫,上手容易,從而獲得大量程序員的喜愛,被譽為“宇宙最好的編程語言”。 Python帶有種類繁多的庫,基本上通過計算機實現的任何功能,Python官方庫里都有相應的模塊進行支持,在基礎庫的基礎上再進行開發,可大大提高開發效率。Python具備可移植性,由于它的開源本質,可被移植在不同平臺上使用。Python語言目前廣泛應用于系統運維、web開發、云計算、網絡爬蟲、計算與數據分析、人工智能等領域,已然成為了一種主流編程語言。

2.2網絡爬蟲

網絡爬蟲也叫做網絡機器人,可以代替人工操作自動地在互聯網中進行數據信息的采集與整理。目前最高效的Python爬蟲框架有8個:Scrapy、PySpider、Crawley、Portia、Newspaper、Beautiful Soup、Grab和Cola。本文中使用的Beautiful Soup是一個高效的網頁解析庫,最主要的功能是可以從 HTML 或 XML 文件中提取數據。它是一個工具箱,通過解析文檔的方式實現常用的文檔導航、查詢和修改。Beautiful Soup庫使用簡便,工作效率高。

3、程序設計

本次爬蟲目標主要有3個,一是程序實現模擬登陸豆瓣;二是自定義搜索關鍵字(電影名或演員);三是爬取電影名稱和詳情頁面內容,并另存為文件。根據分析網頁源碼從相應標簽中獲得每部電影的 URL地址,根據得到的URL地址進入二級頁面,即電影詳情頁面。整個爬蟲的流程是,模擬登陸→關鍵字搜索→通過循環模擬翻頁→抓取需要的信息→獲取下一頁的url→寫入文件。

3.1 模擬登陸

利用Python進行模擬登陸一般有三種方法: 一是POST 請求方法,需要在后臺獲取登錄的 URL并填寫請求體參數,然后 POST 請求登錄;二是添加 Cookies 方法,先登錄將獲取到的 Cookies 加入 Headers 中,最后用 GET 方法請求登錄;三是自動化測試工具Selenium 模擬登錄,自動完成賬號和密碼的輸入代替手工操作。本文用使用的是第三種,由程序控制瀏覽器完成登錄并跳轉入登錄后的頁面。

3.2關鍵字搜索

程序可以根據用戶的需求進行有用信息的提取,由用戶輸入關鍵字,程序收到關鍵字后開始搜索,并在窗口打印出獲取信息。此時用到的關鍵語句是Selenium庫里的CSS locator語句,使用CSS_SELECTOR定位到網頁源代碼中有用信息的準確位置。

3.3 信息獲取

網頁信息爬取,常用的方法有兩種,一是使用正則表達式去提取相關內容,二是使用python庫。使用正則表達式通過提前設定好一些特殊的字及字符組合,匹配出網頁的特定內容,對初學者來說比較困難,因此本文從第二種方式使用python庫來入手。需要提取的信息有兩部分,電影標題和詳情頁面。數據爬取的執行過程分為:一是分析網頁源代碼結構。利用開發者工具觀察源代碼,確定每個數據對應的元素位置和Class 名稱。在對網頁進行分析后發現,電影名均在同一個類名的標簽下面,而電影的鏈接在另一個標簽下面。在這里使用BeautifulSoup庫對網頁內容進行爬取。通過該庫的soup.find_all語句提取出電影名稱、劇情簡介,獲取到電影詳情頁的網址;二是根據上步獲取的網址抓取網頁;三是處理數據且將抓取后的數據寫入指定文件中。上述三步重復執行直至數據采集結束。

3.4數據保存

數據提取完成后,程序顯示開始和結束的時間,將結果保存在指定位置的csv文檔中。

4、結束語

社會發展已經進入到大數據時代,人類社會產生的信息數據呈爆炸增長的態勢,使用網頁爬蟲程序來對網頁進行搜索,可以獲取到更為真實全面的海量數據,在信息繁蕪的網絡時代更為行之有效。因此掌握爬蟲程序編寫技能在大數據時代信息搜集非常必要。而Python 作為一門流行的編程語言,具有靈活、簡單、易用、快捷便利諸多優點。本文主要采用 Python帶有的Selenium、BeautifulSoup、requests等功能強大的庫,通過探索web頁面數據、解析Html和提取鏈接數據的方法,深入研究爬蟲的基本原理與數據挖掘的算法。爬蟲程序獲取的海量有效數據,為后續進行諸如市場預測、文本分析、機器訓練方法等數據分析工作提供了數據來源。掌握 Python 抓取數據的方法、熟悉搜索引擎和網絡爬蟲相關基礎以及檢索技術,為將來從事數據收集與處理等相關工作打下良好基礎。

參考文獻

[1] 成文瑩,李秀敏 . 基于Python的電影數據爬取與數據可視化分析研究[J].電腦知識與技術,2019(15):8-10.

[2] 方芳. 基于Scrapy框架京東網站筆記本電腦評論數據爬取和分析[J].電腦知識與技術,2020(6):7-9.

[3] 嚴家馨.基于Python對資訊信息的網絡爬蟲設計[J].科學技術創新,2020(05):57-58.

[4] 張艷.基于Python的網絡數據爬蟲程序設計[J]. 電腦編程技巧與維護 2020,(04),26-27

作者簡介:周萍(1977年12月—)、女、漢族、籍貫四川省德陽市、現供職單位解放軍78102部隊高級工程師、碩士研究生、研究方向指揮自動化;

李歌(1985年1月—)、男、漢族、籍貫河北省霸州市、現供職單位解放軍78102部隊工程師、本科、研究方向計算機應用。

主站蜘蛛池模板: 久久影院一区二区h| 国产一级毛片yw| 欧美三级自拍| 久久香蕉国产线| 国产一区二区精品高清在线观看| 国产午夜无码专区喷水| 伊人色在线视频| 亚洲视频一区| 久久综合五月婷婷| 婷婷综合色| 国产麻豆91网在线看| 激情在线网| 久久精品国产电影| 日韩一二三区视频精品| 久久这里只精品国产99热8| 亚洲五月激情网| 国产免费久久精品99re不卡| 亚瑟天堂久久一区二区影院| 永久免费AⅤ无码网站在线观看| 日韩人妻无码制服丝袜视频| 波多野结衣的av一区二区三区| 亚洲av日韩av制服丝袜| 日韩精品专区免费无码aⅴ| 国产va视频| 天堂av综合网| 亚洲欧美精品在线| 香蕉国产精品视频| 亚洲熟女中文字幕男人总站| 日本三区视频| 免费大黄网站在线观看| 国产精品综合色区在线观看| 国产一区二区福利| 日韩精品一区二区三区swag| 动漫精品中文字幕无码| 91色在线观看| 国产成人久久综合777777麻豆 | 久久婷婷五月综合97色| 一级片免费网站| 秋霞一区二区三区| 国产成人精品综合| 日本精品中文字幕在线不卡| 丁香婷婷综合激情| 国产va在线| 免费看a级毛片| 亚洲天堂网在线播放| 小说 亚洲 无码 精品| 天堂亚洲网| 亚洲国产黄色| 亚洲欧美一级一级a| 亚洲电影天堂在线国语对白| 成人午夜久久| 99热这里只有精品在线观看| 成人中文字幕在线| 国产白浆视频| 日韩精品无码免费一区二区三区 | 国产哺乳奶水91在线播放| 无码中文字幕乱码免费2| 久久婷婷五月综合97色| 在线人成精品免费视频| 亚洲AV无码久久精品色欲| 2019国产在线| 欧美日韩一区二区三区在线视频| 一本久道久久综合多人| 性欧美久久| 国产在线精品网址你懂的| 97国产成人无码精品久久久| 日本在线国产| 国内熟女少妇一线天| 欧美综合中文字幕久久| 亚洲中文字幕久久无码精品A| 91福利免费| 久久精品日日躁夜夜躁欧美| 国产精品尤物铁牛tv| 久久五月视频| 日韩高清一区 | 国产永久免费视频m3u8| 亚洲黄色成人| 亚洲欧美日韩另类在线一| 女人18毛片一级毛片在线 | 国产毛片高清一级国语| 精品夜恋影院亚洲欧洲| 午夜丁香婷婷|