版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)安全工程(安全系統(tǒng)工程)試題及答案
- 2025年高職農(nóng)產(chǎn)品加工與質(zhì)量檢測(質(zhì)量檢測技術(shù))試題及答案
- 2025年大學(xué)大四(宴會設(shè)計(jì))菜單定制專項(xiàng)測試題及答案
- 新能源鋰電光伏復(fù)合涂層材料生產(chǎn)項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)備案
- 2026年如何降低電氣設(shè)備故障率
- 2025四川自貢市第一人民醫(yī)院招聘醫(yī)療輔助崗人員11人備考題庫及完整答案詳解1套
- 2025福建廈門市翔發(fā)集團(tuán)有限公司招聘3人備考題庫(第三期)及1套完整答案詳解
- 2026浙江杭州市建德市大同鎮(zhèn)中心衛(wèi)生院編外人員招聘3人備考題庫及答案詳解(奪冠系列)
- 2025財(cái)達(dá)證券股份有限公司資產(chǎn)管理業(yè)務(wù)委員會招聘2人備考題庫(北京)及一套參考答案詳解
- 2025新疆阿勒泰布喀公路建設(shè)開發(fā)有限公司招聘1人備考題庫及一套參考答案詳解
- 美術(shù)教學(xué)中的跨學(xué)科教學(xué)策略
- mc尼龍澆鑄工藝
- 旅居養(yǎng)老可行性方案
- 燈謎大全及答案1000個
- 老年健康與醫(yī)養(yǎng)結(jié)合服務(wù)管理
- 中國焦慮障礙防治指南
- 1到六年級古詩全部打印
- 心包積液及心包填塞
- GB/T 40222-2021智能水電廠技術(shù)導(dǎo)則
- 兩片罐生產(chǎn)工藝流程XXXX1226
- 第十章-孤獨(dú)癥及其遺傳學(xué)研究課件
評論
0/150
提交評論