基于scrapy框架的騰訊招聘信息網(wǎng)絡爬蟲設計與實現(xiàn)_第1頁
基于scrapy框架的騰訊招聘信息網(wǎng)絡爬蟲設計與實現(xiàn)_第2頁
基于scrapy框架的騰訊招聘信息網(wǎng)絡爬蟲設計與實現(xiàn)_第3頁
基于scrapy框架的騰訊招聘信息網(wǎng)絡爬蟲設計與實現(xiàn)_第4頁
基于scrapy框架的騰訊招聘信息網(wǎng)絡爬蟲設計與實現(xiàn)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

目錄第1章緒論 11.1研究背景和意義 11.1.1選題的目的及意義 11.1.2國內(nèi)外發(fā)展狀況 11.2研究的基本內(nèi)容與擬解決的主要問題 11.3研究的方法與技術路線 21.3.1研究方法 21.3.2研究手段 2第2章基于python的網(wǎng)絡爬蟲 42.1python語言簡介 42.2網(wǎng)絡爬蟲 42.2.1網(wǎng)絡爬蟲的定義 42.2.2網(wǎng)絡爬蟲的基本流程 52.3scrapy框架 52.3.1scrapy框架的基本原理 52.3.2scrapy框架的基本流程 72.4分布式網(wǎng)絡爬蟲原理 8第3章網(wǎng)絡爬蟲模型的設計和實現(xiàn) 93.1網(wǎng)絡爬蟲的爬取對象 93.2網(wǎng)絡爬蟲系統(tǒng)功能架構 93.3網(wǎng)絡爬蟲流程設計 103.4騰訊招聘網(wǎng)頁分析 113.4.1判斷網(wǎng)頁的靜/動態(tài)加載 113.4.2分析一級網(wǎng)頁獲取相應數(shù)據(jù) 123.4.3分析二級網(wǎng)頁獲取相應數(shù)據(jù) 143.5網(wǎng)絡爬蟲的具體實現(xiàn) 153.5.1創(chuàng)建spider項目文件 153.5.2定義Item容器 153.5.3編寫爬蟲程序 163.5.4編寫pipelines.py 193.5.5修改setting.py 20第4章第4章系統(tǒng)功能測試與實現(xiàn) 224.1爬蟲運行測試 224.2選擇要爬取的地區(qū) 224.3爬蟲爬取過程 224.4數(shù)據(jù)庫存儲數(shù)據(jù) 234.5爬蟲爬取結束 23結束語 25參考文獻 26致謝 27緒論研究背景和意義選題的目的及意義在早期的互聯(lián)網(wǎng)時代,人們主要通過篩選網(wǎng)絡上大量數(shù)據(jù),然后來獲取需要信息,互聯(lián)網(wǎng)技術發(fā)展的落后使得搜索技術影響了所需數(shù)據(jù)的速度和品質(zhì),與此同時,互聯(lián)網(wǎng)一直在快速發(fā)展著,信息的質(zhì)量也變得更加重要。因此,網(wǎng)絡信息的傳播面臨著巨大的機遇和挑戰(zhàn)[1]。如今的大規(guī)模數(shù)據(jù)在不同領域的相同或類似的關鍵詞的模糊性、搜索系統(tǒng)的整體結果都包含著復雜的信息。這是為了讓必要的信息出現(xiàn)在畫面上,需要做出額外的努力。在時間上,尤其是網(wǎng)絡快速發(fā)展的情況下,服裝、食品、住宅和旅行與網(wǎng)絡有著密切的關系。如果想找到好的、滿意的工作,在網(wǎng)上招聘信息中也有選擇。需要有關招聘新員工的信息將在網(wǎng)上公開。尋找最合適的工作,要求工作地點、工資和其他適當條件,工作經(jīng)驗和培訓將使他們掌握有關各領域工作的最合適信息[2]。然而在海量數(shù)據(jù)里能夠自由自在的獲取自己所需要的信息,爬蟲就是一個不錯的選擇。國內(nèi)外發(fā)展狀況上世紀九十年代起,網(wǎng)絡爬蟲技術便開始被研發(fā)。到現(xiàn)在為止,網(wǎng)絡爬蟲技術已經(jīng)逐步成熟。網(wǎng)絡爬蟲主要包括了網(wǎng)頁搜索策略和網(wǎng)頁分析策略,其中網(wǎng)頁搜索策略包含了廣度優(yōu)先法和最佳度優(yōu)先法;網(wǎng)頁分析策略包含了基于網(wǎng)絡拓撲的分析算法和基于網(wǎng)頁內(nèi)容的網(wǎng)頁分析算法[3]。研究的基本內(nèi)容與擬解決的主要問題本項目主要抓取騰訊招聘網(wǎng)站里有價值的數(shù)據(jù),利用Scapy框架爬取騰訊招聘官方網(wǎng)站主頁上刊登的招聘信息。例如,其中網(wǎng)頁鏈接、職位名稱、職位職責、職位職責、職位利用現(xiàn)有技術在項目中免除注冊,實現(xiàn)了多個目標,如要求、地點和發(fā)布時間等。同時對爬取得的數(shù)據(jù)進行初步篩選,除去多余的信息,除了可以節(jié)省當?shù)乜臻g外,數(shù)據(jù)科學家對數(shù)據(jù)進行兩次清洗、精制,從而得到更有價值的信息。本項目對爬蟲類的作用機構和設計模式進行了優(yōu)化。同時采用了適當?shù)脑O計模式,可以及時將內(nèi)存數(shù)據(jù)導入數(shù)據(jù)庫,大幅減少了內(nèi)存資源的占用。研究的方法與技術路線研究方法如今很多爬蟲都是運用后臺腳本類語言來進行編寫,毫無疑問地,按使用次數(shù)來衡量,比較多的便是運用Python語言。Python發(fā)展了許多優(yōu)秀的庫和框架。本項目將采用Python中的scrapy框架作為爬蟲實現(xiàn)語言對爬蟲進行編寫。爬蟲的工作流程通常是非常復雜的,它需要運用網(wǎng)頁數(shù)據(jù)分析算法去刪除一些毫無作用的鏈接,將需要用到的鏈接保存并且放入url隊列中等待提取,之后根據(jù)編寫的搜索策略從隊列中選擇進一步要獲取的鏈接,重復這個過程直到程序停止。還有,系統(tǒng)往往會保存爬蟲爬取到的所有網(wǎng)頁,然后進行網(wǎng)頁分析、過濾數(shù)據(jù)。如果一個網(wǎng)站不愿意網(wǎng)站數(shù)據(jù)流出,就會根據(jù)爬蟲的特征進行識別,拒絕爬蟲的訪問[4]。一個完整的網(wǎng)絡爬蟲會包括四個模塊:網(wǎng)絡請求模塊、爬取流程控制模塊、內(nèi)容分析提取模塊、反爬蟲模塊。研究手段研究的主要任務(1)使用python的scrapy框架來設計爬蟲系統(tǒng)。(2)網(wǎng)絡爬蟲需要對有用的數(shù)據(jù)進行提取,再之后篩選出職位名稱等需要的數(shù)據(jù)。(3)最終完成的網(wǎng)絡爬蟲一開始要網(wǎng)頁地址進行分析之后再得到有用的數(shù)據(jù)。(4)最后設計完成的網(wǎng)絡爬蟲要提取需要的數(shù)據(jù)。研究各階段要求:(1)總體階段要根據(jù)所需的要求來設計出方案。(2)具體階段要對有疑惑的問題進行解答并設計出詳細方案,然后選擇最佳的設計方案。(3)編碼階段要選取適合的開發(fā)工具以及適合的技術標準。(4)測試階段要進行預測系統(tǒng)的運行結果,之后通過編譯來測試是否達到需求。設計開發(fā)學習各種網(wǎng)絡爬蟲相關的文獻資料,模擬網(wǎng)絡上面關于爬蟲開發(fā)的開源項目,在環(huán)境為windows操作系統(tǒng)下進行開發(fā)和測試。

基于python的網(wǎng)絡爬蟲python語言簡介作為開源編程語言,Python可以實現(xiàn)很多功能,其語法相對簡單易懂,有很多優(yōu)點,它廣泛使用于各種通用操作系統(tǒng)。此外,由于具有直接面對編程對象的特性,因此可以簡化編程過程,并且可以大大提高編程效率。最重要的是,Pytohon語言有很多優(yōu)點的網(wǎng)絡協(xié)議庫。這可以為獨立識別、分層存儲、程序員創(chuàng)造各種類型的編程邏輯[5]。網(wǎng)絡爬蟲網(wǎng)絡爬蟲的定義網(wǎng)絡爬蟲是一個可以根據(jù)某些設定的邏輯,自動從網(wǎng)絡上進行數(shù)據(jù)抓取。與傳統(tǒng)的瀏覽器信息搜索方式相比,網(wǎng)絡爬蟲通過搜索網(wǎng)址及時或定期地搜索用戶需求的內(nèi)容并將搜索結果發(fā)送給用戶的過程更準確、信息量更大、更符合用戶的在線需求[6]。對于python而言,它是被廣泛應用于爬蟲系統(tǒng)設計的語言之一,這不僅是因為Python在庫的設計過程中承載了爬蟲系統(tǒng)設計的必要基礎,而且更重要的是在Python語言里開發(fā)了的一個名為Scrapy的框架被廣泛應用于爬蟲系統(tǒng)中,該框架被廣泛應用于當前的計算機操作系統(tǒng)中,它的主要優(yōu)點是能夠有效解決抓取網(wǎng)頁因被多次編寫而產(chǎn)生大量HTML源代碼從而造成信息堆積的問題,運用這一框架,只需要在框架中設置爬蟲模塊即可以爬取該網(wǎng)頁的數(shù)據(jù)[7]。根據(jù)系統(tǒng)的結構功能,網(wǎng)絡爬蟲可以分為四種類型:(1)通用型網(wǎng)絡爬蟲通用型網(wǎng)絡爬蟲主要用于搜索引擎,之所以對爬取的速度和存儲空間要求比較高是因為它爬取的范圍廣,數(shù)量多。(2)聚焦型網(wǎng)絡爬蟲聚焦型網(wǎng)絡爬蟲是選擇性地爬取一開始便定義好的需求的數(shù)據(jù),它不僅節(jié)省了網(wǎng)絡資源,也滿足特定人員的特定需求。(3)增量型網(wǎng)絡爬蟲增量型網(wǎng)絡爬蟲只會產(chǎn)生新的爬取頁面或數(shù)據(jù)頁面被更改時來進行數(shù)據(jù)抓取,它有效降低數(shù)據(jù)量下載,減少了時間和空間的浪費。(4)深度網(wǎng)絡爬蟲深度網(wǎng)絡爬蟲需要先經(jīng)過注冊用戶登錄,或者是提交相應的表單之后才可以開始不斷地爬取網(wǎng)頁的數(shù)據(jù)[8]。網(wǎng)絡爬蟲的基本流程網(wǎng)絡爬蟲一般由四個流程進行:a).發(fā)送請求通過http庫將請求發(fā)送到目標網(wǎng)站,即發(fā)送給目標站點一個Request,這個Request可以包含headers等信息,然后等待服務器響應。b).獲取響應內(nèi)容請求發(fā)送結束之后,等待服務器正常響應,響應結束會返回一個響應內(nèi)容response,這個response可以是結構化數(shù)據(jù),如html、json數(shù)據(jù)包等,也可以是非結構化數(shù)據(jù),如圖片或視頻等。c).解析內(nèi)容一旦接受到響應內(nèi)容時,便可以提取里面的數(shù)據(jù)。當解析的是html數(shù)據(jù),則可以使用正則表達式或第三方解析庫如Beautifulsoup,pyquery等來提取數(shù)據(jù);若是解析json數(shù)據(jù),則可以導入json模塊,將數(shù)據(jù)轉(zhuǎn)化為python類型數(shù)據(jù)然后進行提??;若是非結構化數(shù)據(jù)的,直接進行提取后保存。d).保存數(shù)據(jù)從response中解析到數(shù)據(jù)一般可寫入數(shù)據(jù)庫或者寫入文本保存。scrapy框架scrapy框架的基本原理在開發(fā)python的網(wǎng)絡爬蟲中可以優(yōu)先選擇scrapy。它主要包括引擎(Engine),調(diào)度器(Scheduler),下載器(Downloader),爬蟲(Spider),項目管道(Pipeline),下載器中間件(Downloader-Middlewares),爬蟲中間件(Spider-Middlewares)等七個組件。如圖2-1所示。圖2-1.Scrapy框架架構圖(1)引擎(Engine)引擎負責和進行管理控制整個系統(tǒng)框架所有一切組件之間的數(shù)據(jù)流信息,而且在某些動作發(fā)生時觸發(fā)相應的事務,整個scrapy框架的核心控制組件便是引擎。(2)調(diào)度器(Scheduler)通過調(diào)度器,scrapy框架可以控制哪個網(wǎng)頁優(yōu)先爬取,即控制網(wǎng)頁的爬取優(yōu)先級。它也含有去重功能,能夠去掉重復的網(wǎng)頁。當接受引擎?zhèn)鬟^來的請求后便按照排序傳遞給下載器。(3)下載器(Downloader)下載器采用異步方式與遠程服務器建立連接,下載網(wǎng)頁數(shù)據(jù)并將數(shù)據(jù)返回給引擎。它也可以接收調(diào)度器傳過來的請求,再根據(jù)要求從互聯(lián)網(wǎng)中下載網(wǎng)頁內(nèi)容,并將數(shù)據(jù)傳送給爬蟲。(4)爬蟲(Spider)爬蟲是Scrapy框架核心之一,網(wǎng)頁解析是它的主要工作,然后從目標網(wǎng)頁的數(shù)據(jù)里來進行提取。一個爬蟲項目通常可以擁有多個爬蟲,而且每個爬蟲r可以解析多個網(wǎng)站,爬取多個網(wǎng)站的數(shù)據(jù)。它由編碼人員負責編寫來解析請求網(wǎng)頁后返回數(shù)據(jù)的代碼,從數(shù)據(jù)中提取出Item和新的網(wǎng)頁地址,并把Item傳給Itempipeline組件。(5)項目管道(Pipeline)項目管道負責處理爬蟲提取的數(shù)據(jù),常見的處理如驗證有效性、清理不需要的信息及數(shù)據(jù)存儲等。通常需要多個數(shù)據(jù)管道,每個管道進行一種數(shù)據(jù)處理。(6)下載器中間件(Downloader-Middlewares)下載中間件位于引擎和下載器之間,是處理引擎和下載器之間的請求和響應的重要部分之一。(7)爬蟲中間件(Spider-Middlewares)爬蟲中間件位于引擎和爬蟲之間,是處理引擎和爬蟲之間的請求和響應的重要部分之一[9]。scrapy框架的基本流程如圖2-2所示,是scrapy框架的流程圖,主要包含8個流程:圖2-2.Scrapy框架流程圖(1)引擎向爬蟲文件索要第一個要爬取的網(wǎng)頁地址。(2)引擎將網(wǎng)頁地址信息交給調(diào)度器,調(diào)度器將網(wǎng)頁地址入隊列。(3)url地址出隊列,這時候的url地址為要爬取的內(nèi)容的網(wǎng)頁地址,由調(diào)度器傳遞給引擎。(4)引擎?zhèn)鬟f給下載器地址,下載器開始爬取。(5)獲取到響應之后,下載器將響應的內(nèi)容傳遞給引擎。(6)引擎將響應傳遞給爬蟲,爬蟲開始解析數(shù)據(jù)。(7)爬蟲提取數(shù)據(jù)之后,將所需的數(shù)據(jù)傳遞給引擎。若此時還有必須繼續(xù)跟進的網(wǎng)頁地址(即二級頁面等),則重復第一個步驟直至結束。(8)引擎將所需信息數(shù)據(jù)傳遞給管道,由管道進行保存等操作。分布式網(wǎng)絡爬蟲原理Scrapy-redis是scrapy實現(xiàn)分布式功能的主要部分。依靠主從關系,在這里將核心服務器稱為主服務器,將用于運行爬蟲項目的稱為從服務器。爬取網(wǎng)頁數(shù)據(jù)運用scrapy方式,第一步給爬蟲文件一個或一些初始地址start_urls,然后爬蟲文件開始訪問里面的網(wǎng)絡地址,再根據(jù)編碼人員設計的表達式來提取里面的數(shù)據(jù),也可以是解析和抓取其它二級網(wǎng)頁信息數(shù)據(jù)等。運用redis數(shù)據(jù)庫,在這里redis數(shù)據(jù)庫只需要存儲url,不需要存儲爬取到的數(shù)據(jù),redis數(shù)據(jù)庫會特殊設定不一樣的列表字段,來標記這些不同的網(wǎng)站地址,這樣可以達到爬取不重復網(wǎng)絡地址的效果。在主服務器上運用redis數(shù)據(jù)庫,不管有多少個從服務器,從服務器只能獲取主服務器里面redis數(shù)據(jù)庫存儲的網(wǎng)絡地址。由于scrapy-redis自身的隊列擁有特殊的機制,從服務器得到的網(wǎng)絡地址是不會相互沖突的。在每個從服務器結束數(shù)據(jù)抓取之后,會把爬取到的數(shù)據(jù)匯合并傳輸?shù)降街鞣掌魃?,這個時候爬取到的數(shù)據(jù)不再是存進redis數(shù)據(jù)庫里,而是存進mysql等儲存數(shù)據(jù)的數(shù)據(jù)庫。這種措施的另一個優(yōu)點便是程序的移植性很強,只需要修改路徑問題,把從服務器上的爬蟲項目復制粘貼到到其他從服務器上,便可以運行相同的爬蟲程序[10]。

網(wǎng)絡爬蟲模型的設計和實現(xiàn)網(wǎng)絡爬蟲的爬取對象本文實現(xiàn)的網(wǎng)絡爬蟲是爬取騰訊招聘網(wǎng)站招聘信息,爬取招聘網(wǎng)站的的一級頁面,里面包含職位名稱、職位類別以及工作地點等,之后再通過分析將每個職位的二級頁面爬取下來,之后再爬取二級頁面數(shù)據(jù),包含職位責任和職位要求。網(wǎng)絡爬蟲系統(tǒng)功能架構分布式爬蟲抓取系統(tǒng),如圖3-1所示,主要包含以下功能:圖3-1分布式爬蟲抓取系統(tǒng)架構圖(1)爬蟲:爬取策略的設計、提取數(shù)據(jù)設計、增量爬取、請求去重(2)中間件:爬蟲防屏蔽中間件(3)數(shù)據(jù)存儲:抓取字段設計、數(shù)據(jù)存儲本文將騰訊招聘網(wǎng)站為主題的網(wǎng)絡爬蟲劃為爬蟲模塊、中間件模塊、數(shù)據(jù)存儲模塊3個部分。其中爬蟲模塊用來分析提取url地址,實施招聘主題信息網(wǎng)頁的抓取,在滿足爬取規(guī)則的范圍內(nèi)抓取符合招聘主題信息的網(wǎng)頁數(shù)據(jù);中間件模塊主要負責添加user-agent請求頭信息模擬瀏覽器登錄,實現(xiàn)爬蟲防屏蔽功能;數(shù)據(jù)存儲模塊主要將抓取的網(wǎng)頁數(shù)據(jù)存入到數(shù)據(jù)庫中。網(wǎng)絡爬蟲流程設計由scrapy的結構分析可知,網(wǎng)絡爬蟲從start_url開始,根據(jù)設計爬蟲并定義的url地址,得到積極響應后,若是html數(shù)據(jù),則可以運用正則表達式或者Xpath去提取數(shù)據(jù);若是json類型的,則導入json模塊加以提取。若是從一級頁面中獲取到更多鏈接,則將這些鏈接添加進待下載隊列當中,對它們進行去重和排序操作,然后等待調(diào)度器的調(diào)度。在整個系統(tǒng)中,鏈接可以分為兩類:一類是目錄頁鏈接,里面包含著崗位名稱和崗位類型,以及其它鏈接,此時我們需要提及崗位名稱、崗位類型和下一頁的鏈接;一類是內(nèi)容詳情頁鏈接,里面包含著崗位職責和崗位要求的信息。網(wǎng)絡需要從每一個目錄頁鏈接當中來提取所需要的數(shù)據(jù)之后,加入到待下載隊列并準備進一步爬取。爬取流程如圖3-2所示。圖3-2.爬蟲流程設計圖由此流程圖便知,首先要先獲取一個start_url地址,才可以進行爬取任務。所以需要開始進行網(wǎng)頁分析。騰訊招聘網(wǎng)頁分析判斷網(wǎng)頁的靜/動態(tài)加載首先進入騰訊招聘網(wǎng)站(/),我們可以看到如圖3-3所示的騰訊招聘網(wǎng)站主頁,點擊“查看工作崗位”即可得到此招聘網(wǎng)站的大量信息。圖3-3.騰訊招聘網(wǎng)站主頁單擊點開之后便是招聘網(wǎng)站的分頁,如圖3-4所示,這時候可以依據(jù)不同的地區(qū)選擇想要了解的職位信息。以中國的四個一線城市(北京、上海、廣州、深圳)為例,主要分析這四大地區(qū)的網(wǎng)頁地址。圖3-4.騰訊招聘網(wǎng)站分頁判斷網(wǎng)頁靜/動態(tài)加載,主要依據(jù)是查看網(wǎng)頁源代碼中有沒有具體數(shù)據(jù),有數(shù)據(jù)則為靜態(tài)加載,無數(shù)據(jù)則為動態(tài)加載。靜態(tài)加載的數(shù)據(jù)主要是html數(shù)據(jù),提取數(shù)據(jù)可以使用正則表達式或xpath方法。動態(tài)加載則需要利用控制臺并根據(jù)頁面的動作來抓取網(wǎng)絡數(shù)據(jù)包,即json數(shù)據(jù)包的url地址。以騰訊招聘網(wǎng)站為例,由于網(wǎng)頁源代碼中沒有具體數(shù)據(jù),則為Ajax動態(tài)加載,根據(jù)控制臺和頁面刷新可以在XHR上面得到三個異步加載的數(shù)據(jù)包,在Query文件的Preview中發(fā)現(xiàn)了需要爬取的數(shù)據(jù),如圖3-5所示。圖3-5.招聘網(wǎng)站網(wǎng)頁信息分析一級網(wǎng)頁獲取相應數(shù)據(jù) 在XHR得到json數(shù)據(jù)包,此時需要在Headers上面查找有用的信息。如圖3-6所示,需要提取到的url地址便是圖中RequestURL。圖3-6.一級頁面Headers信息RequestURL(一級頁面):/tencentcareer/api/post/Query?timestamp=1584696974713&countryId=&cityId=&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=&keyword=&pageIndex=1&pageSize=10&language=zh-cn&area=cn然而此url地址比較復雜,所以需要分析每個參數(shù)。在Headers底端的QueryStringParameters(查詢參數(shù))欄便有著這個網(wǎng)頁地址的所有參數(shù)。在獲取到北京、上海、廣州、深圳以及不分地區(qū)的招聘網(wǎng)頁地址后,分別得到它們的參數(shù)區(qū)別,如圖3-7所示。圖3-7.北京、上海、廣州、深圳以及不分地區(qū)的招聘網(wǎng)頁地址參數(shù)在這些參數(shù)中,可分析得到,如表3-1所示。表3-1一級頁面各參數(shù)所代表的含義timestamp:時間戳cityId:‘2’為北京,‘3’為上海,‘5’為廣州,‘1’為深圳,‘’為不分地區(qū)pageIndex:頁數(shù)pageSize:10個(招聘職位)由于刪去timestamp這個參數(shù)后依然可以得到json數(shù)據(jù)包,所以重要的參數(shù)分別為cityId、pageIndex、pageSize??傻玫揭患夗撁鎜ne_url:/tencentcareer/api/post/Query?&countryId=&cityId={}&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=&keyword=&pageIndex={}&pageSize=10&language=zh-cn&area=cn最后再運用format方法即可將字符串分別帶入,得到一個完整的url。代入?yún)?shù)后打開此鏈接,所得到的信息便是我們需要的json數(shù)據(jù)包,里面包含所有招聘職業(yè)的職業(yè)名稱、職業(yè)類別和工作地點等大量數(shù)據(jù),如圖3-8所示。圖3-8.一級頁面Json數(shù)據(jù)包在這個json數(shù)據(jù)包中,我們可以分析得到想要的數(shù)據(jù),如表3-2所示。表3-2一級頁面各參數(shù)所代表的含義RecruitPostName:職位名稱CategoryName:職位類別LocationName:工作地點根據(jù)圖3-8展示的json數(shù)據(jù)包,我們可以知道這些數(shù)據(jù)是需要根據(jù)字典的方式來進行提取,首先由一個大字典含有的‘Data’鍵來對應值,這個值為所需要提取的第二個字典,根據(jù)第二個字典的鍵‘Posts’來獲取數(shù)據(jù)?!甈osts’對應的值為一個列表,在列表中提取字典,所以我們可以根據(jù)以上信息,運用for循環(huán)來編寫提取數(shù)據(jù)的代碼:forjobinhtml['Data']['Posts']:#職位名稱=job['RecruitPostName']#職位列別=job['CategoryName']#工作地點=job['LocationName']在這個數(shù)據(jù)包中沒有我們想要的職位職責和職位要求,所以就需要分析二級網(wǎng)網(wǎng)頁來獲取。分析二級網(wǎng)頁獲取相應數(shù)據(jù) 二級頁面,是在一級頁面中點開一個招聘職位得到的網(wǎng)頁,同理可以得到二級頁面的相應數(shù)據(jù),如圖3-9所示。圖3-9.二級頁面Headers信息RequestURL(二級頁面):/tencentcareer/api/post/ByPostId?timestamp=1584717244516&postId=1237234611482791936&language=zh-cn分析三個不同職位的網(wǎng)頁鏈接參數(shù),如圖3-10所示,將參數(shù)進行對比,可以得到postId是不一致的,可以發(fā)現(xiàn)不同職位間都有著不同的postId來于此對應,而且這個postId在一級頁面的json數(shù)據(jù)包中也有包含,所以可以根據(jù)一級頁面得到的postId來獲取二級頁面的數(shù)據(jù)。圖3-10.網(wǎng)頁參數(shù)對比因此得到二級頁面地址為:/tencentcareer/api/post/ByPostId?&postId={}&language=zh-cn利用format方法代入一個職位的postId,即可得到相應的json數(shù)據(jù)包,如圖3-11所示。圖3-11.二級頁面json數(shù)據(jù)包在這個json數(shù)據(jù)包中,我們可以分析得到想要的數(shù)據(jù)如表3-3所示。表3-3二級頁面各參數(shù)所代表的含義Responsibility:職位責任Requirement:職位要求在這些json數(shù)據(jù)包中,利用提取字典的方式便可以從中爬取到想要的數(shù)據(jù)。分析完一級頁面和二級頁面,即刻開始設計爬蟲的具體實現(xiàn)。網(wǎng)絡爬蟲的具體實現(xiàn)創(chuàng)建spider項目文件第一步需要建立一個Scrapy項目文件,即在終端中運行更改目錄的命令,把當前位置切換到將要用于保存爬蟲代碼的文件夾中,運行命令“scrapystartproject+自定義的爬蟲目錄名稱”,文件夾中會自動生成爬蟲的項目框架。第二步切換到該爬蟲目錄,可以看到該目錄文件夾里的內(nèi)容:項目配置文件、python模塊、item文件、pipelines管道文件、setting文件和spider目錄文件夾等幾個部分。最后在終端輸入命令“scrapygenspider+爬蟲文件名+爬蟲對象域名”,即可開始進行爬蟲項目設計。定義Item容器Item負責定義以及儲存獲取的網(wǎng)絡數(shù)據(jù),而且定義Item容器是為了消除由于拼寫錯誤帶來的麻煩,而且它也增加了額外的保護機制。依據(jù)實際情況在item.py中對提取到的數(shù)據(jù)編寫相關的字段,比如職業(yè)名稱、職業(yè)類別、工作地點、職業(yè)責任和職業(yè)要求。 Item.py關鍵代碼如下:importscrapyclassTcrecruitItem(scrapy.Item):#名稱tc_name=scrapy.Field()#類別tc_type=scrapy.Field()#工作地點tc_location=scrapy.Field()#職責tc_duty=scrapy.Field()#要求tc_require=scrapy.Field()pass編寫爬蟲程序爬蟲程序spider.py用于爬取一級頁面及其包含的數(shù)據(jù)、二級頁面及其包含的數(shù)據(jù),它的實現(xiàn)內(nèi)容包括:初始下載的鏈接地址即start_urls、后續(xù)跟進網(wǎng)頁的URL鏈接即two_url、采用的算法、提取數(shù)據(jù)生成item。在這里,以中國四大一線城市(北京、上海、廣州、深圳)以及全國范圍為例,根據(jù)騰訊招聘網(wǎng)站地址可以得到這五個地區(qū)的參數(shù),再用format()方法將參數(shù)代入進網(wǎng)站地址里便可以得到地區(qū)對應的json數(shù)據(jù)包,相關代碼如下:classTcrecruitSpider(scrapy.Spider):name='tcrecruit'allowed_domains=['']a=''city_url='/tencentcareer/api/post/'\'Query?timestamp=1584608233122&countryId=&cityId='#選擇要爬取的地區(qū)choice=input('1.深圳2.北京3.上海4.廣州5.全部\n請選擇:')ifchoice=='1':a=1elifchoice=='2':a=2elifchoice=='3':a=3elifchoice=='4':a=5else:a=''#將網(wǎng)絡地址合并one_url=city_url+str(a)+'&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=&keyword=&pageIndex={}&pageSize=10&language=zh-cn&area=cn'two_url='/tencentcareer/api/post/ByPostId?&postId={}&language=zh-cn'start_urls=[one_url.format(1)]得到json數(shù)據(jù)包后,要編寫翻頁的函數(shù)以便能獲取大量的職位信息,這里運用for循環(huán)進行翻頁操作,相關代碼如下:defparse(self,response):forpage_indexinrange(1,21):url=self.one_url.format(page_index)yieldscrapy.Request(url=url,callback=self.parse_one)分析招聘主題信息爬蟲要爬取的數(shù)據(jù)信息包括職位名稱、職位類別、工作地點、職位責任和職位要求;觀察分析騰訊招聘頁面的json數(shù)據(jù)包,再根據(jù)python自帶的json.loads()方法將json類型的數(shù)據(jù)變成python的數(shù)據(jù)類型,然后用字典提取數(shù)據(jù)方式將所需要的數(shù)據(jù)提取出來。在一級頁面能夠獲取到二級頁面的必備參數(shù)postId,然后將postId拼接到two_url便可以進入二級頁面的json數(shù)據(jù)包去提取數(shù)據(jù)。重要代碼如下:defparse_one(self,response):html=json.loads(response.text)forjobinhtml['Data']['Posts']:item=TcrecruitItem()#職位名稱、職位類別、工作地點item['tc_name']=job['RecruitPostName']item['tc_type']=job['CategoryName']item['tc_location']=job['LocationName']#postID:拼接二級頁面的地址post_id=job['PostId']two_url=self.two_url.format(post_id)#交給調(diào)度器yieldscrapy.Request(url=two_url,meta={'item':item},callback=self.parse_two)defparse_two(self,response):item=response.meta['item']html=json.loads(response.text)#職位責任item['tc_duty']=html['Data']['Responsibility']#職位要求item['tc_require']=html['Data']['Requirement']yielditem編寫pipelines.py若要在函數(shù)里面加上可以在終端輸出數(shù)據(jù)的功能,只需要添加相關代碼:classTcrecruitPipeline(object):defprocess_item(self,item,spider):print(dict(item))returnitem接著便是保存數(shù)據(jù),首先要導入pymysql庫,然后依次編寫自己數(shù)據(jù)庫信息,例如用戶名、密碼、表名等;然后再將爬取的數(shù)據(jù)插入相對于的位置,需要定義一個列表,然后用列表來進行傳遞參數(shù);接著提交到數(shù)據(jù)庫去自動執(zhí)行代碼;最后關閉數(shù)據(jù)庫。相關代碼如下:importpymysqlclassTcrecruitMysqlPipeline(object):defopen_spider(self,spider):#打開數(shù)據(jù)庫并輸入端口號賬號密碼等信息self.db=pymysql.connect('','root','moon631166427','tencentdb',charset='utf8')self.cursor=self.db.cursor()defprocess_item(self,item,spider):ins='insertintotcrecruitdatavalues(%s,%s,%s,%s,%s)'job_list=[item['tc_name'],item['tc_type'],item['tc_location'],item['tc_duty'],item['tc_require']]self.cursor.execute(ins,job_list)mit()returnitemdefclose_spider(self,spider):self.cursor.close()self.db.close()當然,保存數(shù)據(jù)的前提需要在數(shù)據(jù)庫創(chuàng)建能與存儲爬蟲數(shù)據(jù)相對應的表格。如圖3-12所示。圖3-12.創(chuàng)建數(shù)據(jù)庫修改setting.py離編寫完scrapy網(wǎng)絡爬蟲程序只差最后一步,便是修改setting.py的參數(shù)和添加scrapy-redis。(1)修改最大并發(fā)量,最好將并發(fā)量修改小一點,這個參數(shù)越小,爬蟲程序便越安全,但爬取時間會變長一些。CONCURRENT_REQUESTS=10(2)修改下載延遲參數(shù),這里將延遲參數(shù)調(diào)至0.3s:DOWNLOAD_DELAY=0.3(3)修改REQUEST_HEADERS請求頭,這里是由下載中間件完成,添加user-agent模擬瀏覽器瀏覽爬取對象的網(wǎng)絡地址:DEFAULT_REQUEST_HEADERS={'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Language':'en','User-Agent':'Mozilla/5.0(WindowsNT6.1;WOW64;rv:6.0)Gecko/20100101Firefox/6.0'}(4)修改item_pipeline項目管道,添加數(shù)據(jù)庫(若想將數(shù)據(jù)存儲進redis,也可以在這里添加redis相對應的管道):ITEM_PIPELINES={'Tcrecruit.pipelines.TcrecruitPipeline':300,'Tcrecruit.pipelines.TcrecruitMysqlPipeline':250,#'scrapy_redis.pipelines.RedisPipeline':250,}(5)添加scrapy-redis:使用scrapy_redis的調(diào)度器SCHEDULER="scrapy_redis.scheduler.Scheduler"使用scrapy_redis自帶的去重機制DUPEFILTER_CLASS="scrapy_redis.dupefilter.RFPDupeFilter"爬取結束后清除請求指紋(也可以不清除):SCHEDULER_PERSIST=True定義redis主機的地址和端口號(這里REDIS_HOST為空時,處理器會自己尋找本機電腦的地址):REDIS_HOST=''REDIS_PORT=6379

第4章系統(tǒng)功能測試與實現(xiàn)爬蟲運行測試在CPU為CORE(TM)i5-3317,內(nèi)存為8G,操作系統(tǒng)為WIN10-64位的戴爾筆記本,pycharm版本為2019.2,python版本為3.7.3的環(huán)境下,通過在pycharm建立一個run.py,導入cmdline庫,編寫命令“cmdline.execute(‘scrapycrawltcrecruit‘.split())”,運行run.py來啟動爬蟲進行騰訊招聘信息爬取測試選擇要爬取的地區(qū)如圖4-1所示,爬蟲開始運行,總共可以爬取5個地區(qū)。以深圳地區(qū)為例子,輸入深圳地區(qū)的相應數(shù)字,即可開始爬取騰訊深圳地區(qū)招聘職業(yè)的數(shù)據(jù)。圖4-1.選擇深圳地區(qū)爬蟲爬取過程如圖4-2所示,為爬蟲爬取騰訊深圳地區(qū)招聘職業(yè)的信息,從圖中可以看到‘tc_name’正確對應了招聘職位的職位名稱;‘tc_type’正確對應了職位類別;‘tc_location’正確對應了工作地點,即為深圳地區(qū);‘tc_duty’正確對應了職位責任;‘tc_require’正確對應了職位要求。圖4-2.爬蟲爬取過程數(shù)據(jù)庫存儲數(shù)據(jù)如圖4-3所示,進入數(shù)據(jù)庫并查詢數(shù)據(jù)表里面的數(shù)據(jù);圖4-3.查詢數(shù)據(jù)表如圖4-4,為數(shù)據(jù)表里面呈現(xiàn)出來的內(nèi)容,至此可以說明數(shù)據(jù)庫成功存儲來自爬蟲項目爬取到的數(shù)據(jù)。圖4-4.數(shù)據(jù)表格內(nèi)容爬蟲爬取結束如圖4-5所示,為爬蟲成功運行并結束之后顯示的內(nèi)容,由于設定爬取20頁,每頁20個職位,所以總計成功爬取到的職位個數(shù)為200個。圖4-5.爬蟲運行結束如圖4-6所示,打開RedisDesktopManager,也可以查到成功爬取的職位個數(shù)為200個,并且這200個職位在scrapy-redis的作用下是不會重復的。圖4-6.Redis數(shù)據(jù)庫從以上爬蟲項目運行的結果可以看出,爬蟲爬取20頁共計200條,與網(wǎng)頁實際記錄條數(shù)相符,運行穩(wěn)定。爬蟲獲取的數(shù)據(jù)均為近期發(fā)布的、想要搜索的“深圳地區(qū)”范圍內(nèi)的騰訊職業(yè)招聘信息,搜集的職業(yè)招聘信息基本符合所要查詢職位的相關信息,可以滿足就業(yè)查詢的基本需求。在今后的實際運行過程中可以添加其他地區(qū)的對應參數(shù),運行后便可以選擇其它乃至全國的相關招聘信息,以服務更多不同地區(qū)的人。因此,騰訊職業(yè)招聘的爬蟲技術可以作為服務于選擇就業(yè)人士的技術手段,幫助其以快速獲取各類招聘信息。

結束語在這個網(wǎng)絡技術發(fā)達,數(shù)據(jù)充沛的時代,如何獲取網(wǎng)絡數(shù)據(jù)是一份很重要的工作。相關研究人員提出:網(wǎng)絡上百分之六十的流量均為網(wǎng)絡爬蟲爬取的[11]。爬蟲作為獲取數(shù)據(jù)的重要手段之一,在各種網(wǎng)站數(shù)據(jù)中得到了廣泛的應用。本文主要從網(wǎng)絡爬蟲、Python語言與Scrapy框架幾個方面進行闡述,簡單介紹了騰訊招聘信息主題網(wǎng)絡爬蟲的工作流程、開發(fā)與實現(xiàn)。相較于一般的爬蟲項目,招聘網(wǎng)絡爬蟲有明顯的精確性特征,可以精準地搜索與主題相關的網(wǎng)頁信息,增強了網(wǎng)絡搜索的實效性。但本文的不足之處是只列舉了一些簡單的爬蟲技術和反爬蟲方法,光是這些技術還不足以提升到爬取更多復雜的數(shù)據(jù)。在今后的研究工作中,會繼續(xù)改進本項目的設計,完善有關功能,提升爬取數(shù)據(jù)的效率,更好地為學生就業(yè)工作提供更多的幫助。

參考文獻[1]李代祎,謝麗艷,錢慎一,吳懷廣.基于Scrapy的分布式爬蟲系統(tǒng)的設計與實現(xiàn)[J].湖北民族學院學報(自然科學版).2017(03)[2]熊晟.知識庫質(zhì)量控制平臺的設計與實現(xiàn)[D].北京:北京交通大學,2016.[3]張鳳龍.網(wǎng)絡爬蟲的設計與實現(xiàn)[D].天津:天津大學,2011.?[4]張牛.同步競拍技術在代拍網(wǎng)站中的研究與應用[D].上海:東華大學,2014.[5]Releasenotes—Scrapydocumentation..[2018-08-13][6]WangJing,GuoYuchun,Scrapy-BasedCrawlingandUser-BehaviorCharacteristicsAnalysisonTaobao,2012[7]HansongWang,PreliminarystudyondesignanddevelopmentofajournalfocusedcrawlersystemusingEBDmethodology:PartI—Designtaskandenvironmentanalysis,2014[8]劉石磊.對反爬蟲網(wǎng)站的應對策略[J].電腦知識與技術,2017,13(15):19-21+23.[9]李光敏,李平,汪聰.基于Scrapy的分布式數(shù)據(jù)采集與分析—以知乎話題為例[J].湖北師范大學學報(自然科學版),2019,39(03):1-7.[10]翁紹菲,廖翔宇,祝光儀,范雅靜,甘宇健.基于Scrapy的分布式爬蟲采集軟件的實現(xiàn)[J].電腦知識與技術,2019,15(20):73-75.[11]韓貝,馬明棟,王得玉.基于Scrapy框架的爬蟲和反爬蟲研究[J].計算機技術與發(fā)展,2019(2):139-142.

致謝四年的學習生活即將結束,四年的日日夜夜,老師的教誨和指導,師兄師姐和同學的幫助,家長的支持和鼓勵讓我邁上一步。在本文的設計過程中,謝謝學校給了我學習的機會,感謝老師從選題指導、論文框架到細節(jié)修改,給予了詳細的指導,提出了許多有價值的意見和建議,老師以其嚴謹求實的學習態(tài)度,高度的敬業(yè)精神、敬業(yè)、刻苦的工作作風和勇于創(chuàng)新進取的精神對我有著重要的影響,她淵博的學識、開闊的視野和敏銳的思維使我深受鼓舞。

PowerPoint課件制作實用技巧PowerPoint是微軟公司生產(chǎn)的制作幻燈片和簡報的軟件(以下簡稱PPT)。在我們許多人看來,它只不過是一個簡單地對文字、圖形、圖片進行演示的軟件,教學中的課件制作軟件當屬Authorware、Flash。Authorware和Flash制作的動畫效果的確很好,而且它們的功能也很強大。不過這些軟件在制作課件的過程中往往非常耗時,用這些專業(yè)軟件來制作課件用于平時的教學往往效率很低。PPT就是一個非常簡單、實用的制作課件的軟件,只要你用好它,同樣能做非常棒的課件來。一、掌握基本,知道“插入”。(一)知道從“插入”菜單進入,會給PPT課件添加文字、圖片、影片和聲音等,也就會做一般的課件了。(二)圖片插入與處理1.插入圖片具體方法:a)插入剪貼畫或文件中的圖片;b)添加圖片做背景;c)給自選圖形做填充。2.處理圖片具體方法:我們用PPT制作課件時,經(jīng)常從網(wǎng)上下載圖片來用,而網(wǎng)絡中的圖片往往含有超鏈接和網(wǎng)站名稱痕跡,我們需要刪除其中超鏈接,并對圖片進行裁剪處理。在Powerpoint中,我們一般可以利用“圖片”工具欄上的“裁剪”工具進行裁剪處理,但是,這里的工具只能對圖片進行矩形裁剪,若想裁剪成圓形、多邊形等其他形狀,通常方法就無能為力了。其實這個問題在PPT中是可以解決的。我們用給自選圖形做填充圖片的方法就可以實現(xiàn)我們需要的效果。具體步驟:a)首先利用“繪圖”工具欄畫一個想要裁剪的圖形,如橢圓。b)選中橢圓后單擊“繪圖”工具欄上“填充顏色”按鈕右側(cè)黑三角,從列表菜單中單擊“填充效果”命令。c)打開選擇“圖片”選項卡,單擊〔選擇圖片〕按鈕,從“選擇圖片”對話框中找到合適的圖片,單擊〔插入〕按鈕后返回到“填充效果”對話框最后單擊〔確定〕按鈕后退出。此圖片當作橢圓圖形的背景出現(xiàn),改變了原來的矩形形狀,獲得了滿意的裁剪圖片效果。圖片在插入PPT之前,我們可以用ACDSEE軟件進行加工,如改變大小,裁剪等操作。二、學會下載,查找方法。在制作課件過程中,我們時常需要從網(wǎng)絡上下載各種資源用以豐富課件內(nèi)容,提升課堂效果。但有許多網(wǎng)站的flash動畫都不提供下載;還有網(wǎng)站為我們提供了許多視頻素材,這些視頻素材都是FLV流媒體格式。FLV流媒體格式是一種新的視頻格式,全稱為FlashVideo。由于它形成的文件極小、加載速度極快,使得網(wǎng)絡觀看視頻文件成為可能,它的出現(xiàn)也有效地解決了視頻文件導入Flash后,使導出的SWF文件體積龐大,不能在網(wǎng)絡上很好的使用等缺點。目前各在線視頻網(wǎng)站均采用此視頻格式。如新浪播客、56、優(yōu)酷、土豆、酷6等,無一例外。FLV已經(jīng)成為當前視頻文件的主流格式。這些網(wǎng)站一般都不提供下載。我們想要這些素材,怎樣辦?1.尋找下載方法:a)在百度網(wǎng)站搜索欄中輸入下載的內(nèi)容,搜索下載方法。b)弄清格式,再搜索方法。2.具體方法推薦①flasah動畫的下載方法一:IE緩存中尋找在網(wǎng)上看過一個flash后,一般情況下都會保存在IE緩存里。右擊桌面上的IE圖標,選“屬性”命令,單擊中間的“設置”按鈕,彈出“Internet臨時文件和歷史記錄設置”面板,單擊“查看文件”,可以打開臨時文件夾,按時間排序,找到剛才打開的flash動畫文件。優(yōu)點:不需要安裝其它軟件。缺點:操作相對煩瑣。方法二:借助Flashsaver等軟件下載,這些軟件都可以快速、方便的下載你所需要的flash文件。優(yōu)點:簡單、方便、快速。缺點:需要安裝使用。②FLV視頻的獲取方法一:IE緩存中尋找,方法同flasah。方法二:flv視頻解析下載/三、學用控件,轉(zhuǎn)化應用1.flash動畫的插入方法一:安裝flash插件,再插入flash。步驟:a)安裝“ppt插flash軟件”插件;b)單擊“插入”→“flashmovie”→打開要播放的flash文件→確定。方法二:利用控件插入flash動畫。步驟:a)插入“ShockwaveFlashObject”控件對象:右擊“工具欄”→選“控件工具箱”(或點“視圖→工具欄→控件工具箱”);點“其他控件”(控件工具箱中最后一個形似錘子斧頭的按鈕),拖動滾動條或在英文輸入法狀態(tài)下按鍵盤上“s”鍵,快速定位到以s開頭的控件,選擇“ShockwaveFlashObject”控件。將鼠標移到幻燈片工作區(qū),鼠標指針變成“十”字型,拖動鼠標繪制出一個形似信封的矩形。b)打開控件對象“屬性”對話框:右擊矩形控件對象,在彈出的快捷菜單中選“屬性”命令。c)正確設置控件對象屬性:主要是在“Movie”空白文本域中正確輸入演示文稿要播放的.swf動畫的完整名稱。d)將控件對象適當縮放:為了獲得比較好的播放效果,拖動控件對象的縮放點使它幾乎覆蓋整個幻燈片工作區(qū),但要在幻燈片工作區(qū)底部保留少許空白區(qū)域。這樣既可以享受.swf動畫大屏幕播放的好處,又能夠保證幻燈片能夠順利地切換。e)一般情況下,幻燈片應顯示出動畫的第一幀圖形。如果控件對象仍是空白的,可保存演示文稿,關閉后再打開它,按F5放映幻燈片,應該能夠正確播放動畫。2.FLV視頻的插入FLV視頻與FLASH不一樣的。全稱是flashvideo,所用的播放器也不一樣。①利用控件插入PPT的方法也是有區(qū)別的。不同點:先要下載pptflv.swf文件,此文件是類似于網(wǎng)頁中FLV視頻播放器的一個Flash文件(可用百度搜索下載下來后記著要改文件名,保留擴展名);例如改成:pptflv1.swf“Movie”參數(shù)值填入方法不一樣,參數(shù)值示例:pptflv.swf?file=視頻.FLV“pptflv.swf”即為步驟一下載下來的Flash文件的完整文件,“視頻.FLV”即為需要播放的FLV視頻的文件名,大家只要將pptflv.swf換成自己下載后起的文件名,將“視頻.FLV”換成自己的FLV視頻文件名,則此FLV文件就可以在PowerPoint中播放了。如播放2.flv視頻參數(shù)填法:示例:pptflv1.swf?file=2.FLV②方法二:將flv轉(zhuǎn)換成swf再插入轉(zhuǎn)換軟件:UltraFlashVideoFLVConverter3.2.0軟件說明:該軟件又叫全格式FLV轉(zhuǎn)換器,支持將幾乎所有主流視頻格式轉(zhuǎn)換為FLV或者SWF且對用戶較為關心的RealMedia(RM/RMVB...)和QuickTime(MOV/QT...)支持良好。三大特色功能:既可輸出FLV格式,也可輸出SWF格式,甚至同時輸出FLV+SWF格式。此軟件也支持創(chuàng)建調(diào)用播放的網(wǎng)頁支持導入所有的主流字幕格式。srt,*.sub,*.idx,*.ssa,*.ass,*.psb,*.smi)有字幕合成功能,你現(xiàn)在無需再使用那些繁瑣的專業(yè)軟件來合成字幕到視頻中去,字幕合成與格式轉(zhuǎn)換一氣呵成!支持視頻分割,右鍵點擊列表中的源文件,選擇[編輯視頻],自己設置下起點終點即可對視頻進行去粗取精處理!③方法三:將flv轉(zhuǎn)換成其他格式視頻文件再插入工具:FLV轉(zhuǎn)AVI(FreeFLVtoAVIConverter1.5)作用:一個免費的將FLV轉(zhuǎn)換成AVI的軟件,簡單好用,自帶解碼器。四、學做交互,理解運用。1.利用母版進行交互母版≠模版母版和模版可以使課件統(tǒng)一整體風格,展現(xiàn)自己的個性和特點;模版是對同一類課件所做的整體風格統(tǒng)一設置,母版則是對某一部課件內(nèi)部所做的個性化統(tǒng)一設置。母版設置得好,就可以存為模版,供別人在制作同類題材時使用。修改幻燈片母板的方法和技巧。如果我們希望為每一張幻燈片添加上一項固定的內(nèi)容,并做超鏈接,可以通過修改“母板”來實現(xiàn)。a)執(zhí)行“視圖→母板→幻燈片母板”命令,進入“幻燈片母板”編輯狀態(tài)。b)插入固定內(nèi)容。例如:將圖片插入到幻燈片中,調(diào)整好大小、定位到合適的位置上。c)給這張圖片插入超鏈接,就可以進行交互了。d)單擊“關閉母板視圖”按鈕退出“幻燈片母板”編輯狀態(tài)。以后添加幻燈片時,該幻燈片上自動添加上該圖片。如果說一個PPT有它的靈魂的話,那就是PPT的母板,它的作用猶如摩天大廈的根基一般。2.在PPT演示文稿中插入PowerPoint演示文稿對象實現(xiàn)交互具體效果:①導航目錄內(nèi)容展示效果②單擊小圖片就可看到該圖片的放大圖自動縮效果《畫家鄉(xiāng)》一課五個畫面交互的具體操作方法:a)單擊“插入→對象”,在出現(xiàn)的選擇頁中選擇“MicrosoftPowerPoint演示文稿”,單擊確定。此時就會在當前幻燈片中插入一個“PowerPoint演示文稿”的編輯區(qū)域。b)在此編輯區(qū)域中我們就可以對插入的演示文稿對象進行編輯了,編輯方法與PowerPoint演示文稿的編輯方法一樣。c)在插入的演示文稿對象中創(chuàng)建所需的幻燈片??蓪D片設置為幻燈片相同大小,退出編輯后,就可發(fā)現(xiàn)圖片以縮小方式顯示了(其實是整個插入的演示文稿對象被縮小顯示了)。d)最后,我們只需對剩余的圖片進行插入。為了提高效率,可將這個插入的演示文稿對象進行復制,并按照上面的方法對圖片進行替換即可。e)完畢后,單擊“觀看放映”命令進行演示,單擊小圖片馬上會放大,再單擊放大的圖片馬上又返回到了瀏覽小圖片的幻燈片中了。原理:這里的小圖片實際上是插入的演示文稿對象,它們的“動作設置”屬性中的“單擊鼠標”中的“對象動作”被設為了“演示”(這是默認值)。因此我們在演示時,單擊小圖片,就是等于對插入的演示文稿對象進行“演示觀看”。而演示文稿對象在播放時就會自動全屏幕顯示。所以我們看到的圖片就好像被放大了一樣,而我們單擊放大圖片時,插入的演示文稿對象實際上已被播放完了(因為只有一張),它就會自動退出,所以就回到了主幻燈片中了。3.用觸發(fā)器控制自定義動畫進行交互以前我們在使用PowerPoint制作課件時,常常發(fā)現(xiàn)制作人機交互性的課件非常麻煩。其實在PowerPoint2003里,用觸發(fā)器控制自定義動畫可以輕松地制作出交互性很強的課件。觸發(fā)器功能可以將畫面中的任一對象設置為觸發(fā)器,單擊它,該觸發(fā)器下的所有對象就能根據(jù)預先設定的動畫效果開始運動,并且設定好的觸發(fā)器可以多次重復使用。類似于Authorware、Flash等軟件中的熱對象、按鈕、熱文字等,單擊后會引發(fā)一個或者的一系列動作。例1:單擊“棱臺”后,“小球”開始按一定路徑運動。例2:分別單擊“變色一”和“變色二”,讓“笑臉”顏色。例3:單擊下面一段話的關鍵詞,讓詞語變紅色讀下面一段話,說說從哪些詞語中可以看出侵略者采用了各種野蠻手段掠奪、毀滅圓明園的?他們把園內(nèi)凡是能拿走的東西,統(tǒng)統(tǒng)掠走,拿不動的,就用大車或牲口搬運。實在運不走的,就任意破壞、毀掉。步驟:a)將原來段落中的重點詞消去;(將詞語顏色變成和背景色一樣)b)將重點詞作為單獨文本覆蓋到原來位置;c)設置重點詞自定義動畫為“添加效果→強調(diào)→更改字體顏色→紅色”d)右擊重點詞自定義動畫,選擇“效果選項”,選擇“計時”,選擇“觸發(fā)器”,選“單擊下列對象時啟動效果”,再選重點詞,按確定。五、學會截取,合理選用。(一)視頻的截取加工1.工具:萬能轉(zhuǎn)換器(英文名TotalVideoConverter)作用:可以幫助你快速的分割,修整大的AVI、MPEG、ASF或者WMV文件為一個個小的視頻文件,內(nèi)置視頻播放器,你可以很方便的按照所選擇的播放時間進行切割操作,不需要另外具備高深的技術知識,簡單容易使用!2.繪聲繪影會聲會影是一套操作最簡單,功能最強悍的DV、HDV影片剪輯軟件。不僅完全符合家庭或個人所需的影片剪輯功能,甚至可以挑戰(zhàn)專業(yè)級的影片剪輯軟件。(二)flash的片段截取有時候,在網(wǎng)絡上下載了一個課件,對自己的課堂教學有幫助,但是又不想全部應用這個課件,只想取出其中一部分,應該則么辦呢?先用碩思閃客精靈將.swf文件和.exe文件轉(zhuǎn)換成fla文件,再用flash8打開進行編輯,截取自己所需的片段,然后插入到ppt里面為我所用。1.碩思閃客精靈:它是一款用于瀏覽和解析Flash動畫(.swf文件和.exe文件)的工具。最新版本有著強大的功能,可以將swf文件導出成FLA文件。它還能夠?qū)lash動畫中的圖片、矢量圖、聲音、視頻(*.flv)、文字、按鈕、影片片段、幀等基本元素完全分解,最重要的是可以對動作的腳本(Actionscript)進行解析,清楚的顯示其動作的代碼,讓對Flash動畫的構造一目了然。支持將SWF文件導出成FLA文件,幫助丟失FLA文件的影片作者重新獲得FLA文件,從而可以再編輯。完全兼容Flash8文件和動作腳本(ActionScript)2.0。碩思閃客精靈支持將包含組件的SWF文件轉(zhuǎn)換成FLA格式,用戶可以在Flash中編輯這些組件。支持解析Flash影片中的視屏(video)文件,并將Flash影片中的視頻文件導出為*.flv格式。2.碩思閃客精靈具體使用方法:①解析Flash課件,提取課件素材在Flash課件作品中有大量的圖片、聲音和視頻等資源。由于制作者擁有的資源不同,在制作課件時,很難及時、方便地尋找到適合的素材。如果可以從同類作品中將所需要的資源提取出來為己所用的話,不僅大大節(jié)約了搜集素材資源的時間,而且會極大地提高課件利用率。但是,F(xiàn)lash課件發(fā)布時一般都進行加密處理,使教師無法用普通的方式導入到Flash中進行編輯。而碩思閃客精靈可以解析出Flash作品中的元件及腳本,并且可以保存成swf格式,這樣在創(chuàng)作時就可以直接導入Flash中使用。啟動閃客精靈,單擊工具上的“快速打開”按鈕打開一個Flash動畫(可以是swf格式或exe格式),閃客精靈會自動分解當前動畫(圖2),包括用到的腳本語言(Actions語句),并在資源欄中分類羅列著動畫中的各種元件(圖片、按鈕、影片和聲音等);單擊某個元件,可以在中間的窗口中預覽;勾選需要的元件,然后單擊“導出”按鈕,就可以把選中的元件分類保存到原文件所在的文件夾中。②反編譯Flash課件,獲取課件源代碼碩思閃客精靈的最大亮點就是能夠?qū)lash動畫(swf格式)還原成其源文件(Fla格式),相信這個功能是很多朋友期待已久的。還原的方法十分的簡單,只需要打開Flash動畫,再單擊工具欄上的“導出Fla”按鈕,選擇保存位置,稍等后就完成了還原工作,此時還會提示“是否愿意用Flash打開它”,單擊“Yes”即可啟動系統(tǒng)中安裝的Flash打開還原后的源文件,此時你就可以隨心所欲地對它進行修改啦。3.用flash8進行編輯基本方法:選取需要幀,復制,粘貼到新的flash中,調(diào)試修改。上面介紹了關于破解Flash課件的一些方法和手段,有一個特定的使用范圍,即為了課堂教學服務,只有資源共享才能提高教學效率,促進教學效果的提高。不能做為商業(yè)目的,也不能將別人的課件的署名修改一下,便成為自己的作品,用于參加比賽,這是不道德的行為。在PPT演示中禁用右鍵快捷菜單和滑鼠滾動一大群與會人員正襟危坐,你豪情滿懷地進行著某個新產(chǎn)品的演示或介紹,卻不小心由于鼠標左鍵的誤操作導致幻燈片跳到了本不應該出現(xiàn)的位置,或者本應按下鼠標左鍵切換到下一張,卻由于按下了右鍵而出現(xiàn)一個快捷菜單。不用擔心,只要進行小小的設置,就可以將這些煩人的問題統(tǒng)統(tǒng)搞定。從任務窗格中打開“幻燈片切換”,將換片方式小節(jié)中的“單擊鼠標時”和“每隔”兩個復選項全部去除,然后將這個設置應用于所有幻燈片,以后切換到下一張或上一張,只有通過鍵盤上的方向鍵才能進行操作。至于另外一個問題,解決的辦法也很簡單,從“工具”菜單下打開“選項→視圖”窗口,取消“幻燈片放映”小節(jié)上的“右鍵單擊快捷菜單”復選框即可?!鲈赑PT演示文稿內(nèi)復制幻燈片要復制演示文稿中的幻燈片,請先在普通視圖的“大綱”或“幻燈片”選項中,選擇要復制的幻燈片。如果希望按順序選取多張幻燈片,請在單擊時按Shift鍵;若不按順序選取幻燈片,請在單擊時按Ctrl鍵。然后在“插入”菜單上,單擊“幻燈片副本”,或者直接按下“Ctrl+shift+D”組合鍵,則選中的幻燈片將直接以插入方式復制到選定的幻燈片之后?!鯬owerpoint自動黑屏在用Powerpoint展示課件的時候,有時需要學生自己看書討論,這時為了避免屏幕上的圖片影響學生的學習注意力可以按一下“B”鍵,此時屏幕黑屏。學生自學完成后再接一下“B”鍵即可恢復正常。按“W”鍵也會產(chǎn)生類似的效果?!鰧⒒脽羝l(fā)送到word文檔1、在Powerpoint中打開演示文稿,然后在“文件”菜單上,指向“發(fā)送”,再單擊“MicrosoftWord”。2、在“將幻燈片添加到Microsoftword文檔”之下,如果要將幻燈片嵌入word文檔,請單擊“粘貼”;如果要將幻燈片鏈接到word文檔,請單擊“粘貼鏈接”。如果鏈接文件,那么在Powerpoint中編輯這些文件時,它們也會在word文檔中更新。3、單擊“確定”按鈕。此時,系統(tǒng)將新建一個word文檔,并將演示文稿復制到該文檔中。如果word未啟動,則系統(tǒng)會自動啟動word?!鲎尰脽羝詣硬シ乓宲owerpoint的幻燈片自動播放,只需要在播放時右鍵點擊這個文稿,然后在彈出的菜單中執(zhí)行“顯示”命令即可,或者在打開文稿前將該文件的擴展名從PPT改為PPS后再雙擊它即可。這樣一來就避免了每次都要先打開這個文件才能進行播放所帶來的不便和繁瑣?!鲈黾覲PT的“后悔藥”在使用powerpoint編輯演示文稿時,如果操作錯誤,那么只要單擊工具欄中的“撤消”按鈕,即可恢復到操作前的狀態(tài)。然而,默認情況下Powerpoint最多只能夠恢復最近的20次操作。其實,powerpoint允許用戶最多可以“反悔”150次,但需要用戶事先進行如下設置:在“工具-選項”,擊“編輯”選項卡,將“最多可取消操作數(shù)”改為“150”,確定?!鯬PT中的自動縮略圖效果你相信用一張幻燈片就可以實現(xiàn)多張圖片的演示嗎?而且單擊后能實現(xiàn)自動放大的效果,再次單擊后還原。其方法是:新建一個演示文稿,單擊“插入”菜單中的“對象”命令,選擇“Microsoftpowerpoint演示文稿”,在插入的演示文稿對象中插入一幅圖片,將圖片的大小改為演示文稿的大小,退出該對象的編輯狀態(tài),將它縮小到合適的大小,按F5鍵演示一下看看,是不是符合您的要求了?接下來,只須復制這個插入的演示文稿對象,更改其中的圖片,并排列它們之間的位置就可以了?!隹焖凫`活改變圖片顏色利用powerpoint制作演示文稿課件,插入漂亮的剪貼畫會為課件增色不少。可并不是所有的剪貼畫都符合我們的要求,剪貼畫的顏色搭配時常不合理。這時我們右鍵點擊該剪貼畫選擇“顯示‘圖片’工具欄”選項(如果圖片工具欄已經(jīng)自動顯示出來則無需此操作),然后點擊“圖片”工具欄上的“圖片重新著色”按鈕,在隨后出現(xiàn)的對話框中便可任意改變圖片中的顏色?!鰹镻PT添加公司LOGO用powerpoint為公司做演示文稿時,最好第一頁都加上公司的Logo,這樣可以間接地為公司做免費廣告。執(zhí)行“視圖-母版-幻燈片母版”命令,在“幻燈片母版視圖”中,將Logo放在合適的位置上,關閉母版視圖返回到普通視圖后,就可以看到在每一頁加上了Logo,而且在普通視圖上也無法改動它了。■“保存”特殊字體為了獲得好的效果,人們通常會在幻燈片中使用一些非常漂亮的字體,可是將幻燈片拷貝到演示現(xiàn)場進行播放時,這些字體變成了普通字體,甚至還因字體而導致格式變得不整齊,嚴重影響演示效果。在powerpoint中,執(zhí)行“文件-另存為”,在對話框中點擊“工具”按鈕,在下拉菜單中選擇“保存選項”,在彈出其對話框中選中“嵌入TrueType字體”項,然后根據(jù)需要選擇“只嵌入所用字符”或“嵌入所有字符”項,最后點擊“確定”按鈕保存該文件即可?!隼媒M合鍵生成內(nèi)容簡介我們在用powerpoint2003制作演示文稿時,通常都會將后面幾個幻燈片的標題集合起來,把它們作為內(nèi)容簡介列在首張或第二張幻燈片中,讓文稿看起來更加直觀。如果是用復制粘貼來完成這一操作,實在有點麻煩,其實最快速的方法就是先選擇多張幻燈片,接著按下alt+shift+s即可。■演示文稿中的圖片隨時更新在制作演示文稿中,如果想要在其中插入圖片,執(zhí)行“插入-圖片-來自文件”,然后打開“插入圖片”窗口插入相應圖片。其實當我們選擇好想要插入的圖片后,可以點擊窗口右側(cè)的“插入”按鈕,在出現(xiàn)的下拉列表中選“鏈接文件”項,點擊確定。這樣一來,往后只要在系統(tǒng)中對插入圖片進行了修改,那么在演示文稿中的圖片也會自動更新,免除了重復修改的麻煩。■快速調(diào)用其他PPT在進行演示文檔的制作時,需要用到以前制作的文檔中的幻燈片或要調(diào)用其他可以利用的幻燈片,如果能夠快速復制到當前的幻燈片中,將會給工作帶來極大的便利。在幻燈片選項卡時,使光標置于需要復制幻燈片的位置,選擇“菜單”中的“幻燈片(從文件)”命令,在打開的“幻燈片搜索器”對話框中進行設置。通過“瀏覽”選擇需要復制的幻燈片文件,使它出現(xiàn)在“選定幻燈片”列表框中。選中需要插入的幻燈片,單擊“插入”,如果需要插入列表中所有的幻燈片,直接點擊“全部插入”即可。這樣,其他文檔中的幻燈片就為我們所用了?!隹焖俣ㄎ换脽羝诓シ舙owerpoint演示文稿時,如果要快進到或退回到第5張幻燈片,可以這樣實現(xiàn):按下數(shù)字5鍵,再按下回車鍵。若要從任意位置返回到第1張幻燈片,還有另外一個方法:同時按下鼠標左右鍵并停留2秒鐘以上?!隼眉糍N畫尋找免費圖片當我們利用powerpoint2003制作演示文稿時,經(jīng)常需要尋找圖片來作為鋪助素材,其實這個時候用不著登錄網(wǎng)站去搜索,直接在“剪貼畫”中就能搞定。方法如下:插入-圖片-剪貼畫,找到“搜索文字”一欄并鍵入所尋找圖片的關鍵詞,然后在“搜索范圍”下拉列表中選擇“Web收藏集”,單擊“搜索”即可。這樣一來,所搜到的都是微軟提供的免費圖片,不涉及任何版權事宜,大家可以放心使用?!鲋谱鳚L動文本在powerpoint中有時因顯示文本內(nèi)容較多就要制作滾動文本。具體制作方法如下:視圖-工具欄-控件箱,打開控件工具箱,點擊“文字框”選項,插入“文字框”控件,然后在幻燈片編輯區(qū)按住鼠標左鍵拖拉出一個文本框,并根據(jù)版面來調(diào)整它的位置和大小。接著在“文字框”上右擊鼠標,選擇快捷菜單中的“屬性”命令,彈出“文字框”屬性窗口,在屬性窗口中對文字框的一些屬性進行相關的設置。設置好后右擊“文字框”,選擇“文字框?qū)ο蟆敝械摹熬庉嫛泵?,這時就可以進行文字的輸入,文本編輯完之后,在文字框外任意處單擊鼠標,即可退出編輯狀態(tài)。一個可以讓框內(nèi)文字也隨滾動條拖動而移動的文本框就做好了?!鐾黄?0次的撤消極限Powerpoint的“撤消”功能為文稿編輯提供了很大方便。但powerpoint默認的操作次數(shù)卻只有20次。執(zhí)行“工具-選擇”,擊“編輯”標簽卡,在“最多可取消操作數(shù)”中設置你需要的次數(shù)即可。不過要注意,powerpoint撤消操作次數(shù)限制最多為150次。■利用畫筆來做標記利用powerpoint2003放映幻燈片時,為了讓效果更直觀,有時我們需要現(xiàn)場在幻燈片上做些標記,這時該怎么辦?在打開的演示文稿中單擊鼠標右鍵,然后依次選擇“指針選項-繪圖”即可,這樣就可以調(diào)出畫筆在幻燈片上寫寫畫畫了,用完后,按ESC鍵便可退出?!隹焖僬{(diào)節(jié)文字大小在powerpoint中輸入文字大小不合乎要求或者看起來效果不好,一般情況是通過選擇字體字號加以解決,其實我們有一個更加簡潔的方法。選中文字后按ctrl+]是放大文字,ctrl+[是縮小文字?!鲇嬎阕謹?shù)和段落執(zhí)行“文件-屬性”,在其對話框中選“統(tǒng)計”選項卡,該文件的各種數(shù)據(jù),包括頁數(shù)、字數(shù)、段落等信息都顯示在該選項卡的統(tǒng)計信息框里?!鲚p松隱藏部分幻燈片對于制作好的powerpoint幻燈片,如果你希望其中的部分幻燈片在放映時不顯示出來,我們可以將它隱藏。方法是:在普通視圖下,在左側(cè)的窗口中,按Ctrl,分別點擊要隱藏的幻燈片,點擊鼠標右鍵彈出菜單選“隱藏幻燈片”。如果想取消隱藏,只要選中相應的幻燈片,再進行一次上面的操作即可?!鰧D片文件用作項目符號一般情況下,我們使用的項目符號都是1、2、3,a、b、c之類的。其實,我們還可以將圖片文件作為項目符號,美化自己的幻燈片。首先選擇要添加圖片項目符號的文本或列表。點擊“格式-項目符號和編號”,在“項目符號項”選項卡中單擊“圖片”,調(diào)出剪輯管理器,你就可以選擇圖片項目符號。在“圖片項目符號”對話框中,單擊一張圖片,再單擊確定?!鰧ο笠灿酶袷剿⒃趐owerpoint中,想制作出具有相同格式的文本框(比如相同的填充效果、線條色、文字字體、陰影設置等),可以在設置好其中一個以后,選中它,點擊“常用”工具欄中的“格式刷”工具,然后單擊其它的文本框。如果有多個文本框,只要雙擊“格式刷”工具,再連續(xù)“刷”多個對象。完成操作后,再次單擊“格式刷”就可以了。其實,不光文本框,其它如自選圖形、圖片、藝術字或剪貼畫也可以使用格式刷來刷出完全相同的格式。■幻燈片放映時讓鼠標不出現(xiàn)Powerpoint幻燈片在放映時,有時我們需要對鼠標指針加以控制,讓它一直隱藏。方法是:放映幻燈片,單擊右鍵,在彈出的快捷菜單中選擇“指針選項-箭頭選項”,然后單擊“永遠隱藏”,就可以讓鼠標指針無影無蹤了。如果需要“喚回”指針,則點擊此項菜單中的“可見”命令。如果你點擊了“自動”(默認選項),則將在鼠標停止移動3秒后自動隱藏鼠標指針,直到再次移動鼠標時才會出現(xiàn)?!龈淖冩溄游淖值哪J顏色Powerpoint2003中如果對文字做了超鏈接或動作設置,那么powerpoint會給它一個默認的文字顏色和單擊后的文字顏色。但這種顏色可能與咱們預設的背景色很不協(xié)調(diào),想更改嗎?那么可以點擊菜單命令“格式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論