《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案_第1頁
《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案_第2頁
《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案_第3頁
《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案_第4頁
《數(shù)據(jù)采集與預(yù)處理》教學(xué)教案_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)采集與預(yù)處理

教案

NO.1

教師姓名授課班級授課形式理實(shí)一體化

授課時間年月日第周授課時數(shù)6

授課章節(jié)名稱任務(wù)1認(rèn)識數(shù)據(jù)采集技術(shù),熟悉數(shù)據(jù)采集平臺

(1)學(xué)習(xí)數(shù)據(jù)采集等相關(guān)知識內(nèi)容,熟悉大數(shù)據(jù)的定義、大數(shù)據(jù)

的基本特征及數(shù)據(jù)采集的相關(guān)技術(shù)、工具和產(chǎn)品等。

(2)熟悉數(shù)據(jù)采集的來源和方法。

教學(xué)目的

(3)完成Scrapy平臺的搭速。

(4)完成ApacheFlume平臺的搭建。

Scrapy平臺的搭建

教學(xué)重點(diǎn)

ApacheFlume平臺的搭建

分Scrapy平臺的搭建

析教學(xué)難點(diǎn)

ApacheFlume平臺的搭建

更新、

補(bǔ)充'

刪節(jié)內(nèi)容

課外作業(yè)積極動手實(shí)踐,熟練完成相關(guān)任務(wù)的實(shí)施操作

教學(xué)過程教學(xué)提示

一.知識準(zhǔn)備

1.數(shù)據(jù)采集的概念

數(shù)據(jù)的采集有基于物聯(lián)網(wǎng)傳感器的采集,也有基于網(wǎng)絡(luò)信息的采集。

2.數(shù)據(jù)采集的來源

根據(jù)M叩Reduce產(chǎn)生數(shù)據(jù)的應(yīng)用系統(tǒng)分類,大數(shù)據(jù)的采集主要有4

種來源:管理信息系統(tǒng)、Web信息系統(tǒng)、物理信息系統(tǒng)、科學(xué)實(shí)驗(yàn)系統(tǒng)。

3.數(shù)據(jù)采集的方法

(1)數(shù)據(jù)采集的新方法

①系統(tǒng)日志采集方法

②網(wǎng)絡(luò)數(shù)據(jù)采集方法:對非結(jié)構(gòu)化數(shù)據(jù)的采集

③其他數(shù)據(jù)采集方法

(2)網(wǎng)頁數(shù)據(jù)采集的方法

互聯(lián)網(wǎng)網(wǎng)頁數(shù)據(jù)具有分布廣等大數(shù)據(jù)的典型特點(diǎn),需要有針對性地對

互聯(lián)網(wǎng)網(wǎng)頁數(shù)據(jù)進(jìn)行采集、轉(zhuǎn)換、加工和存儲。互聯(lián)網(wǎng)網(wǎng)頁數(shù)據(jù)是大數(shù)據(jù)

領(lǐng)域的一個重要組成部分,為互聯(lián)網(wǎng)和金融服務(wù)創(chuàng)新提供了豐富的數(shù)據(jù)基

礎(chǔ)。

①網(wǎng)頁數(shù)據(jù)采集的基本流程

互聯(lián)網(wǎng)網(wǎng)頁數(shù)據(jù)采集就是獲取互聯(lián)網(wǎng)中相關(guān)網(wǎng)頁內(nèi)容的過程,并從中

抽取出用戶所需要的屬性內(nèi)容。

網(wǎng)絡(luò)爬蟲是一個自動提隼網(wǎng)頁的程序,它為搜索引擎從萬維網(wǎng)上下載

網(wǎng)頁,是搜索弓1擎的重要組成部分。

聚焦爬蟲的工作流程較為復(fù)雜,需要根據(jù)一定的網(wǎng)頁分析算法過濾與

主題無關(guān)的鏈接,保留有用的鏈接弁將其放入等待抓取的URL隊(duì)列。

另外,所有被爬蟲抓取的網(wǎng)頁將會被系統(tǒng)存儲起來,進(jìn)行一定的分析、

過濾,并建立索引,以便之后的查詢和檢索;

②網(wǎng)頁數(shù)據(jù)采集的工作過程

數(shù)據(jù)采集的目的就是把目標(biāo)網(wǎng)站上網(wǎng)頁中的某塊文字或者圖片等資

源下載到指定位置。這個過程需要做如下配置工作:下載網(wǎng)頁配置,解析

網(wǎng)頁配置,修正結(jié)果配置,數(shù)據(jù)輸出配置。

整個數(shù)據(jù)采集過程的基本步客如下。

a.將需要抓抽數(shù)據(jù)網(wǎng)站的URL(SiteURL)信息寫入U(xiǎn)RL隊(duì)列。

b.爬蟲從URL隊(duì)列中獲取需要抓取數(shù)據(jù)網(wǎng)站的URL信息。

C.獲取某個具體網(wǎng)站的網(wǎng)頁內(nèi)容。

d.從網(wǎng)頁內(nèi)容中抽取出該網(wǎng)站正文頁內(nèi)容的鏈接地址。

e,從數(shù)據(jù)庫中讀取已經(jīng)抓取過內(nèi)容的網(wǎng)頁地址。

f.過濾URL。對當(dāng)前的URL和已經(jīng)抓取過的URL進(jìn)行比較。

g.如果該網(wǎng)頁地址沒有被抓取過,則將該地址寫入數(shù)據(jù)庫。如果該

地址已經(jīng)被抓串過,則放棄對這個地址的抓取操作。

h.獲取該地址的網(wǎng)頁內(nèi)容,弁抽取出所需屬性的內(nèi)容值。

i.將抽取的網(wǎng)頁內(nèi)容寫入數(shù)據(jù)庫。

③Web信息數(shù)據(jù)自動采集

Web數(shù)據(jù)自動采集涉及Web數(shù)據(jù)挖掘(WebDataMining)、信息檢索

(InformationRetrieval)信息提取(InformationExtraction)、搜索引擎

(SearchEngine)等概念和技術(shù)。

a.Web數(shù)據(jù)自動采集與挖掘

所謂Web數(shù)據(jù)自動采集與挖掘,是指從大量非結(jié)構(gòu)化、異構(gòu)的Web

信息資源中發(fā)現(xiàn)有效的、新穎的、潛在可用的及最終可以理解的知識(包

括概念、模式、規(guī)則、約束及可視化等形式)的過程。

b.Web數(shù)據(jù)自動采集與搜索引擎

它們都利用了信息檢索的技術(shù)。但是兩者的側(cè)重點(diǎn)不同,搜索弓I擎主

要由網(wǎng)絡(luò)爬蟲(WebCrawler)、索引數(shù)據(jù)庫和查詢服務(wù)3部分組成。Web

數(shù)據(jù)自動采集主要針對某個具體行業(yè),提供面向領(lǐng)域、個性化的信息挖掘

月艮務(wù)。

c.Web數(shù)據(jù)自動采集與信息提取

與傳統(tǒng)搜索引擎(基于關(guān)鍵字查詢)有所不同,信息提取基于關(guān)鍵字

查詢操作,其不僅要匹配關(guān)鍵字,還要匹配各個實(shí)體之間的關(guān)系。信息提

取是技術(shù)上的概念。Web數(shù)據(jù)自動采集很大程度上要依賴于信息提取的技

術(shù),實(shí)現(xiàn)長期的、動態(tài)的追蹤。

d.Web數(shù)據(jù)自動采集與Web信息檢索

Web數(shù)據(jù)自動采集不是將Web文獻(xiàn)集合的子集宜接輸出給用戶,而是

還要進(jìn)一步分析處理,如套重、去噪、整合數(shù)據(jù)等。Web數(shù)據(jù)自動采集是

Web數(shù)據(jù)挖掘的一個重要組成部分,它利用了Web數(shù)據(jù)檢索、信息提取

的技術(shù),彌補(bǔ)了搜索引擎缺乏針對性和專業(yè)性,無法實(shí)現(xiàn)數(shù)據(jù)的動態(tài)跟蹤

與監(jiān)測的缺點(diǎn),是一個非常有前景的領(lǐng)域。

④鏈接過濾

鏈接過濾是數(shù)據(jù)采集的關(guān)鍵技術(shù),實(shí)質(zhì)就是判斷一個鏈接(當(dāng)前鏈接)

是不是在一個鏈接集合(已經(jīng)抓取過的鏈接)中。

⑤Web引擎和通用搜索引擎的差別

Web引擎和通用搜索引擎相比有較大的差別,Web引擎更多地關(guān)注

“結(jié)構(gòu)化信息”的抽取。通用搜索引擎是指從互聯(lián)網(wǎng)檢索出滿足搜索條件

的信息反饋給用戶。更多關(guān)注搜索條件,信息一般不進(jìn)行結(jié)構(gòu)化處理。

⑥結(jié)構(gòu)化信息抽取的方式

Web結(jié)構(gòu)化信息抽取就是將網(wǎng)頁中的非結(jié)構(gòu)化數(shù)據(jù)按照一定的需求抽

取成結(jié)構(gòu)化數(shù)據(jù),屬于垂宜搜索。

a.模板方式

特點(diǎn):簡單、精確、技術(shù)難度低、方便快速部署。

缺點(diǎn):需要針對每一個信息源的網(wǎng)站模板進(jìn)行單獨(dú)設(shè)定,在信息源多樣性

強(qiáng)的情況下維護(hù)量巨大,甚至是不可完成的維護(hù)量。

b.網(wǎng)頁庫級方式

特點(diǎn):通用性較好,易于維護(hù),只需設(shè)定參數(shù)、配置相應(yīng)的特征就能

改進(jìn)相應(yīng)的抽取性能等。

缺點(diǎn):技術(shù)難度高,前期研發(fā)成本高,周期長,適合網(wǎng)頁庫級別結(jié)構(gòu)

化數(shù)據(jù)采集和搜索的高端應(yīng)用。

二.任務(wù)實(shí)施

1.Scrapy系統(tǒng)環(huán)境搭建

(1)安裝所需的環(huán)境

(2)驗(yàn)證Scrapy框架安裝是否成功

2.日志系統(tǒng)環(huán)境搭建

(1)安裝Flume

①到官方網(wǎng)站下載

②修改權(quán)限和命名

(2)配置環(huán)境變量

①配置環(huán)境變量

②修改配置文件flume-env.sh

(3)驗(yàn)證Flume框架安裝是否成功

數(shù)據(jù)采集與預(yù)處理

教案

NO.1

教師姓名授課班級授課形式理實(shí)一體化

授課時間年月日第周授課時數(shù)6

授課章節(jié)名稱任務(wù)2認(rèn)識數(shù)據(jù)預(yù)外理技術(shù)

(1)學(xué)習(xí)數(shù)據(jù)預(yù)處理技術(shù)等相關(guān)知識內(nèi)容,如數(shù)據(jù)清洗的主要

任務(wù)和常用方法,數(shù)據(jù)集成的主要任務(wù)和常用方法,數(shù)據(jù)轉(zhuǎn)換的主

要任務(wù)和常用方法,數(shù)據(jù)歸約的主要任務(wù)和常用方法。

教學(xué)目的

(2)完成Pig系統(tǒng)環(huán)境的搭建。

(3)完成Kettle系統(tǒng)環(huán)境的搭建。

Pig系統(tǒng)環(huán)境的搭建

教學(xué)重點(diǎn)

Kettle系統(tǒng)環(huán)境的搭建

材Pig系統(tǒng)環(huán)境的搭延

分教學(xué)難點(diǎn)

Kettle系統(tǒng)環(huán)境的搭建

更新、

補(bǔ)充、

刪節(jié)內(nèi)容

課外作業(yè)積極動手實(shí)踐,熟練完成相關(guān)任務(wù)的實(shí)施操作

教學(xué)過程教學(xué)提示

一.知識準(zhǔn)備

1.數(shù)據(jù)預(yù)處理的概念

數(shù)據(jù)預(yù)處理是指在對數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘的主栗處理以前,先對原始數(shù)

據(jù)進(jìn)行必要的清理、集成、轉(zhuǎn)換、離散、歸約、特征選擇和提地等一系列

處理工作,達(dá)到挖掘算法進(jìn)行知識獲取、研究所要求的最低規(guī)范和標(biāo)準(zhǔn)。

現(xiàn)實(shí)生產(chǎn)和實(shí)際生活以及科學(xué)研究的多樣性、不確定性、復(fù)雜性等導(dǎo)

致采集到的原始數(shù)據(jù)比較散亂,它們是不符合挖掘算法進(jìn)行知識獲取、研

究所要求的規(guī)范和標(biāo)準(zhǔn)的,這些數(shù)據(jù)主要具有以下特征。

(1)不完整性。(2)含噪聲。(3)雜亂性(不一致性)。

2.數(shù)據(jù)預(yù)處理的常見問題

(1)數(shù)據(jù)采樣

數(shù)據(jù)采樣技術(shù)分為加權(quán)采樣、甌機(jī)采樣和分層采樣3類,其目的是從

數(shù)據(jù)集中采集部分樣本進(jìn)行處理。加權(quán)采樣的思想是通過對總體中的各個

樣本設(shè)置不同的數(shù)值系數(shù)(即權(quán)重),使樣本呈現(xiàn)希望的相對重要性程度。

隨機(jī)采樣是最常用的方法。

分層采樣的思想是根據(jù)數(shù)據(jù)分布的不均衡性控制采樣的頻率。

(2)數(shù)據(jù)清理

數(shù)據(jù)清理技術(shù)通常包括填補(bǔ)遺漏的數(shù)據(jù)值、平滑有噪聲數(shù)據(jù)、識別或

除去異常值,以及解決不一致問題。填補(bǔ)遺漏的數(shù)據(jù)值,處理不完備數(shù)據(jù)

集的方法主要有以下三大類。

①刪除元組刪除元組就是將存在遺漏信息屬性值的對象(元組,

記錄)刪除,從而得到一個完備的信息表。

②數(shù)據(jù)補(bǔ)齊a.人工填寫b.特殊值填充c.平均值填充d.熱卡填

充(或就近補(bǔ)齊)e.攵近鄰法f.使用所有可能的值填充g.組合完整化

方法h.回歸

③平滑有噪聲數(shù)據(jù)

a.分箱b.回歸c.聚類,可以通過聚類來檢測離群點(diǎn),將類似的值

組織成群或簇。直觀地講,落在簇集合之外的值被視為離群點(diǎn)。

(3)數(shù)據(jù)集成

數(shù)據(jù)集成指將來自多個數(shù)據(jù)源的數(shù)據(jù)合并,形成一致的數(shù)據(jù)存儲,如

將不同數(shù)據(jù)庫中的數(shù)據(jù)集成到一個數(shù)據(jù)倉庫中存儲。

①實(shí)體識別問題②冗余和相關(guān)分析③元組重復(fù)④數(shù)據(jù)值沖

突的檢測與處理⑤數(shù)據(jù)轉(zhuǎn)換

⑥數(shù)據(jù)歸約

數(shù)據(jù)歸約策略包括維歸約、數(shù)量歸約和數(shù)據(jù)壓縮。數(shù)量歸約用替代的、

較小的數(shù)據(jù)表示形式替換原數(shù)據(jù)。

⑦特征選擇

特征選擇是從原始特征中挑選出一些最優(yōu)代表性的特征,它分為

過濾式、封裝式和嵌入式3種類型。

⑧特征提取

特征提黑就是利用已有特征參數(shù)構(gòu)造一個較低維數(shù)的特征空間,將

原始特征中蘊(yùn)含的有用信息映射到少數(shù)幾個特征上,忽略多余的不相

干信息。

二.任務(wù)實(shí)施

1.Pig系統(tǒng)環(huán)境的搭建

(1)下載Pig官方網(wǎng)站下載pig-0.17.0-src.tar.gz,并解壓到/usr/local

目錄,解壓操作如圖1-16所示。

:$Is

ptg-O.17.0.tar.gz

:5sudotar-zxvfptg-0.17.0.tar.gz-C/usr/local|

圖1-16解壓Pig文件到相應(yīng)目錄

解壓完成后進(jìn)入/usr/local,將文件“pig-0.17.0?src”重命名為“pig”,

以方便后續(xù)使用,如圖1-17所示。

(2)配置環(huán)境變量

環(huán)境變量配置完成并保存后,執(zhí)行“source—/.bashrc”命令,使配置

的環(huán)境變量生效。

(3)驗(yàn)證Pig是否安裝成功

2.Kettle系統(tǒng)環(huán)境的搭建

(1)下載Kettle在官方網(wǎng)站下載pdi-ce--25.zip,弁解壓到

/usr/local目錄

解壓完成后進(jìn)入/usr/local,將文件“data-integration”重命名為

“kettle",以方便后續(xù)使用

(2)配置環(huán)境變量

打開命令行窗口,輸入“sudovim—/.bashrc“,配置環(huán)境變量環(huán)境變

量配置完成笄保存后,執(zhí)行“Source—/.bashrc”命令,使配置的環(huán)境變

量生效。

(3)驗(yàn)證Kettle是否安裝成功

打開命令行窗口,切換到/usr/k)cal/kettle路徑,執(zhí)行/spoon.sh”命令

網(wǎng)絡(luò)爬蟲實(shí)踐

教案

NO.3

教師姓名授課班級授課形式理實(shí)一體化

授課時間年月日第周授課時數(shù)4

授課章節(jié)名稱任務(wù)1使用urllib爬取北京公交線路佶息

(1)知道urllib基本庫和BeautifulSoup解析庫的使用方法。

(2)學(xué)會使用urllib基本庫和BeautifulSoup解析庫進(jìn)行北京公交線路

教學(xué)目的

相關(guān)信息的爬取。

使用urllib基本庫和BeautifulSoup解析庫進(jìn)行北京公交線路相關(guān)信息

教學(xué)重點(diǎn)

的爬取

分使用urllib基本庫和BeautifulSoup解析庫進(jìn)行北京公交線路相關(guān)信息

析教學(xué)難點(diǎn)

的爬取

更新、

補(bǔ)充、

刪節(jié)內(nèi)容

課外作業(yè)積極動手實(shí)踐,熟練完成相關(guān)任務(wù)的實(shí)施操作

教學(xué)過程教學(xué)提示

任務(wù)一、使用urllib爬取北京公交線路信凡

1.任務(wù)描述

(1)學(xué)習(xí)網(wǎng)絡(luò)爬蟲相關(guān)技術(shù),熟悉爬蟲基本庫urllib的使用。

(2)熟悉網(wǎng)絡(luò)爬蟲相關(guān)基礎(chǔ)知識。

(3)使用urllib基本庫獲取北京公交線路信息的HTML源代碼。

(4)使用BeautifulSoup解析庫完成北京公交線路相關(guān)信息的獲取。

2、任務(wù)目標(biāo)

(1)知道urllib基本庫和BeautifulSoup解析庫的使用方法。

(2)學(xué)會使用urllib基本庫和BeautifulSoup解析庫進(jìn)行北京公交線路

相關(guān)信息的爬取。

3、知識準(zhǔn)備

1.HTTP的理解

(1)理解URL和URI

(2)理解HTTP和HTTPS

(3)HTTP請求流程(4步工作流程)

(4)了解請求報(bào)文的格式

2.網(wǎng)頁基礎(chǔ)知識

(1)網(wǎng)頁的組成(超文本標(biāo)記語言、層置樣式表和Java腳本)

了解網(wǎng)頁的基本結(jié)構(gòu)。

<!DOCTYPEhtml>

<html>

<head>

<metacharset="utf-8">

<title>HelloWorld</title>

</head>

<body>

<p>HelloWorld</p>

<divclass="content">

主體內(nèi)容

</div>

</body>

</html>

(2)認(rèn)識節(jié)點(diǎn)樹及清楚節(jié)點(diǎn)間的關(guān)系

圖2-2節(jié)點(diǎn)樹示意圖

rp

n

e(D<

xo

ru的子節(jié)點(diǎn)

-ss

bs同時,彼此互為同胞

=_

nb

g5

g

lastchild元素:

<body>

圖2-3節(jié)點(diǎn)樹的一部分及節(jié)點(diǎn)之間的關(guān)系

3.爬蟲的基本原理(本質(zhì)是獲取網(wǎng)頁、提取和保存信息的自動化程

序)

(1)獲取網(wǎng)頁

(2)提串信息

(3)保存數(shù)據(jù)

4.基本庫的使用

(1①)urllib庫的使用

②發(fā)送請求

③讀取響應(yīng)內(nèi)容

④傳遞URL參數(shù)

⑤傳遞中文參數(shù)

⑥定制請求頭

⑦傳遞POST請求

⑧下載遠(yuǎn)程數(shù)據(jù)到本地

⑨設(shè)置代理IP地址

⑩異常處理

Cookie的使用

(2)BeautifulSoup

①創(chuàng)建BeautifulSoup對象

②四大對象種類

③遍歷文檔樹

a.遍歷直接子節(jié)點(diǎn)

b.遍歷所有子孫節(jié)點(diǎn)

c.遍歷節(jié)點(diǎn)內(nèi)容

d.遍歷多個內(nèi)容

e.遍歷父節(jié)點(diǎn)

f.遍歷全部父節(jié)點(diǎn)

g.遍歷兄弟節(jié)點(diǎn)

h.遍歷全部兄弟節(jié)點(diǎn)

i.遍歷前后節(jié)點(diǎn)

j.遍歷所有前后節(jié)點(diǎn))

④搜索文檔樹

(a)name參數(shù)

⑧傳字符串

⑹傳正則表達(dá)式

?傳列表

@傳True

@1專方法)

(b)attrs參數(shù)

(c)recursive參數(shù)

(d)text參數(shù)

(e)limit參數(shù)

(f)**kwargs參數(shù)

⑤CSS選擇器

a.通過標(biāo)簽名查找

b.通過類名查找

c.通過id名查找

d.組合查找

e.直接子標(biāo)簽查找

f.屬性查找)

4,任務(wù)實(shí)施

1.確定并分析目標(biāo)網(wǎng)頁架構(gòu)

(1)進(jìn)入HTTP://網(wǎng)頁

(2)單擊“以數(shù)字開頭”中的各數(shù)字,可發(fā)現(xiàn)網(wǎng)頁URL變化規(guī)律為

HTTP:///list+數(shù)字。

(3)單擊數(shù)字“1”,進(jìn)入HTTP:///listl頁面,在右鍵單

擊頁面彈出的快捷菜單中,選擇“檢查”命令,進(jìn)入檢查頁面。

(4)使用快捷鍵“Ctrl+Shift+C”,單擊“以漢字/字母開頭”下面的“1

路”超鏈接,以網(wǎng)頁源碼查詢方式顯示網(wǎng)頁內(nèi)容。

(5)單擊a標(biāo)簽中的href屬性,進(jìn)入詳細(xì)信息頁面。

2.編寫代碼(兩種存儲方式:文件存儲方式和MySQL關(guān)系數(shù)據(jù)庫存儲方

式)

(1)構(gòu)造一個URL,以便獲取所有一級頁面的URLo

http://bei/listl

http://bei/list2

http://beiiinu.8684.cn/list3

httD://beiiinu.8684.cn/list4

http://beiiing.8684.cn/list5

http://beijing.8684.cn/list6

http://beiiing.8684.cn/list7

http://beiiing.8684.cn/list8

htto://bei/list9

Processfinishedwithexitcode0

(2)創(chuàng)建一個get_page_url方法,并在for循環(huán)中調(diào)用代碼。

hiips://beiiing.8684.cn/x05db550f

htIDS:〃beiiing,8684,cn/xbf864ala

https:〃beiiini.8684.cn/x968a4331

https://beiiing.8684.cn/xble20d0f

https:〃beijing.8684.cn/x0c88d7dl

https://beiiing,8684,cn/x94d65922

httDs:〃beiiing.8684.cn/x1758ec7d

httDS://beiiing,8684,cn/x7833ac5a

https://beiiing,8684,cn/x832c590b

Processfinishedwithexitcode0

(3)在獲得了詳細(xì)頁面的URL后,即可開始進(jìn)行詳細(xì)頁面解析。

在詳細(xì)信息頁面右鍵單擊所彈出的快捷菜單中,選擇“檢查”命令,

隨后使用快捷鍵“Ctrl+Shift+C”選中要爬取的數(shù)據(jù)

網(wǎng)絡(luò)爬蟲實(shí)踐

教案

NO.4

教師姓名授課班級授課形式理實(shí)一體化

授課時間年月日第周授課時數(shù)4

授課章節(jié)名稱任務(wù)2使用Selenium爬取淘寶網(wǎng)站信息

(1)知道Selenium基本庫和PyQuery解析庫的使用方法。

教學(xué)目的(2)學(xué)會使用Selenium基本庫和PyQuery解析庫實(shí)現(xiàn)淘寶網(wǎng)站信息的

爬取。

教學(xué)重點(diǎn)使用Selenium基本庫和PyQuery解析庫實(shí)現(xiàn)淘寶網(wǎng)站信息的爬取

使用基本庫和解析庫實(shí)現(xiàn)淘寶網(wǎng)站信息的爬取

析教學(xué)難點(diǎn)SeleniumPyQuery

更新'

補(bǔ)充、

刪節(jié)內(nèi)容

課外作業(yè)積極動手實(shí)踐,熟?練完成相關(guān)任務(wù)的實(shí)施操作

教學(xué)過程教學(xué)提示

任務(wù)二、使用Selenium爬取澗寶網(wǎng)站信息

1.任務(wù)描述

(1)借助學(xué)習(xí)論壇、網(wǎng)絡(luò)視頻等網(wǎng)絡(luò)資源和各種圖書資源,學(xué)習(xí)網(wǎng)絡(luò)

爬蟲相關(guān)技術(shù),熟悉爬蟲基本庫Selenium的使用。

(2)使用Selenium基本庫獲取溝寶網(wǎng)站信息的HTML源代碼。

(3)使用PyQuery解析庫實(shí)現(xiàn)淘寶網(wǎng)站信息的獲取。

2、任務(wù)目標(biāo)

(1)知道Selenium基本庫和PyQuery解析庫的使用方法。

(2)學(xué)會使用Selenium基本庫和PyQuery解析庫實(shí)現(xiàn)溝寶網(wǎng)站信息的

爬取。

3、知識準(zhǔn)備

1.Selenium

作用:用來做自動化測試,支持多種瀏覽器,在爬蟲中主要用來解決

JavaScript渲染問題。

使用Selenium來爬取信息:

(1)聲明瀏覽器對象。

(2)訪問頁面并獲取網(wǎng)頁HTML。

(3)查找元素。

(4)元素交互操作,即在搜索框中傳入關(guān)鍵詞并進(jìn)行自動搜索。

(5)交互動作,即驅(qū)動瀏覽器進(jìn)行動作,模擬拖動動作,將動作附加

到動作鏈中并串行執(zhí)行。

(6)執(zhí)行JavaScript(進(jìn)度條下拉,其可以通過執(zhí)行JavaScript來實(shí)現(xiàn))。

(7)獲取元素信息。

(8)Frame操作。

(9)等待。

①隱式等待

②顯式等待

(10)前進(jìn)后退。

(11)Cookies的設(shè)置

(12)選項(xiàng)卡管理,增加瀏覽器窗口。

(13)異常處理。

2.PyQuery

作用:用于解析HTML網(wǎng)頁

(1)初始化

4種進(jìn)行初始化的方法:

frompyqueryimportPyQueryaspq

fromIxmlimportetree

doc=pq(n<html></html>n)#傳入字符串

doc=pq(etree.fromstring("vhtml>v/html>"))#傳入Ixml

doc=pq(url=,HTTP:///1)#傳入U(xiǎn)RL

doc=pq(filename=path_to_html_file)#傳入文件

(2)PyQuery獲取元素的方法。

①html()和.text。:用于獲取相應(yīng)的HTML塊或文本內(nèi)容。

②('selector'):用于通過選擇器來獲取目標(biāo)內(nèi)容。

③eq(index):根據(jù)索引號獲取指定元素(index從0開始)。

④find。:查找嵌套元素。

⑤filter。:根據(jù)class、id麻選指定元素。

⑥attr():獲取、修改屬性值。

⑦其他操作

添力口

addClass(value):classo

判斷?是否包含指定的返回或

hasClass(name):class,TrueFalseo

children():獲取子元素。

parents():獲取父元素。

next():獲取下一個元素。

nextAll():獲取后面全部的元素塊。

not_('selectoT):獲取所有不匹配該選擇器的元素。

foriindoc.items('li'):printi.text():遍歷doc中的li元素。

4、任務(wù)實(shí)施

(1)進(jìn)入淘空網(wǎng)頁面。

I?券.☆

淘寶網(wǎng)I~~(pad

raahaaiM[2018?W?adg.7

官網(wǎng)價(jià)HH771元'丫手上?無理直送

9¥1818.75

V199e.00B3¥248800。,“,?<¥2299.00H3¥1828.00

0ACCM4i?10M-*W?;<?JAwe5S?'/

V?AVM?

已搶6000+臺

■,2268.00

官網(wǎng)價(jià)■餐297元

¥2268.00K3

(2)獲取商品列表。

1.導(dǎo)入相關(guān)的Selenium模塊

構(gòu)建一個對象,使用的瀏覽器為構(gòu)建一^個

2.webdriverChromeo

WebDriverWait對象,它指定了一個等待的最長時間。

(3)保存到MongoDBo

1.導(dǎo)入PyMongo模塊。

2.創(chuàng)建一個MongoDB的連接對象,并指定數(shù)據(jù)庫和集合的名稱。

3.創(chuàng)建save_to_mongo方法,調(diào)用insert。方法將數(shù)據(jù)插入MongoDB。

(4)遍歷每頁。

1.將實(shí)現(xiàn)頁碼的遍歷。

2.最后需要將browser關(guān)閉。

(5)運(yùn)行。

正在爬取第1頁

Ciaagc':'g-searchl.alicdn.COBiaX/bao/uploaded.i4imgextra,i3,13022581TB2._5ckYZnBKNjSZFKXXcG0VXa_!!0-saturn_solar.jpg_360x36090.jpg'.

,price*:'1999.00'.'deal':'258人網(wǎng)款'title'送電動牙鼾【2年保修】Apple/'草果11md9.7英寸"AS千板電腦2017款shop':'嫁碼官方樵展店

'location':'浙江杭州')

存轉(zhuǎn)到MongoDB成功

('ieage':'g-search3.alicdn.co?,i?g/baouploaded-i413/1669409267TBlCACiGL5TBuNjSspBXXaDRVXa_!!0-iten_pic.jpg_360x360Q90.jpg*,,rice*:

,2568.001.'deal':?1474人付款'title':'[】2即分期"pple菜果iPad?ini47.9英寸平板電腦I28Gfifi版','shop':

溫馨提示

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

最新文檔

評論

0/150

提交評論