偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一篇非常棒的安裝Python及爬蟲(chóng)入門(mén)博文!

開(kāi)發(fā) 后端
在網(wǎng)絡(luò)爬蟲(chóng)中,通常需要結(jié)合瀏覽器來(lái)定位元素,瀏覽器右鍵通常包括兩個(gè)重要的功能:查看源代碼和審查或檢查元素

一篇非常棒的安裝Python及爬蟲(chóng)入門(mén)博文!

一. 大數(shù)據(jù)及數(shù)據(jù)挖掘基礎(chǔ)(私信小編007即可獲取大量Python學(xué)習(xí)資料!)

***部分主要簡(jiǎn)單介紹三個(gè)問(wèn)題:

1、什么是大數(shù)據(jù)?

2、什么是數(shù)據(jù)挖掘?

3、大數(shù)據(jù)和數(shù)據(jù)挖掘的區(qū)別?

1、大數(shù)據(jù)(Big Data)

大數(shù)據(jù)(big data)指無(wú)法在一定時(shí)間范圍內(nèi)用常規(guī)軟件工具進(jìn)行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能具有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力來(lái)適應(yīng)海量、高增長(zhǎng)率和多樣化的信息資產(chǎn)。

下圖是大數(shù)據(jù)經(jīng)典的4V特征。

IBM大數(shù)據(jù)庫(kù)框架及可視化技術(shù),大數(shù)據(jù)常用:Hadoop、Spark,現(xiàn)在更多的是實(shí)時(shí)數(shù)據(jù)分析,包括淘寶、京東、附近美食等。

下圖是大數(shù)據(jù)的一些應(yīng)用

說(shuō)到大數(shù)據(jù),就不得不提Hadoop,而說(shuō)到Hadoop,又不得不提Map-Reduce。

MapReduce是一個(gè)軟件框架由上千個(gè)商用機(jī)器組成的大集群上,并以一種可靠的,具有容錯(cuò)能力的方式并行地處理上TB級(jí)別的海量數(shù)據(jù)集。MapReduce的思想是“分而治之”。Mapper負(fù)責(zé)“分,Reducer負(fù)責(zé)對(duì)map階段的結(jié)果進(jìn)行匯總。

2、數(shù)據(jù)挖掘(Data Mining)

數(shù)據(jù)挖掘(Data Mining):數(shù)據(jù)庫(kù)、機(jī)器學(xué)習(xí)、人工智能、統(tǒng)計(jì)學(xué)的交叉學(xué)科。

數(shù)據(jù)挖掘需要發(fā)現(xiàn)有價(jià)值的知識(shí),同時(shí)最頂端都是具有智慧的去發(fā)現(xiàn)知識(shí)及有價(jià)值的信息。

因?yàn)樗饕轻槍?duì)網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行的大數(shù)據(jù)分析,需要Web Mining分類如下:

Web挖掘主要分為三類:Web日志挖掘、Web內(nèi)容挖掘、Web結(jié)構(gòu)挖掘。

3、機(jī)器學(xué)習(xí)

講到機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘相關(guān)的知識(shí),通常都會(huì)補(bǔ)充兩幅圖片。很形象的表示了計(jì)算機(jī)智能化與人類傳統(tǒng)知識(shí)的類比。

二. 安裝Python及基礎(chǔ)知識(shí)

1、安裝Python

在開(kāi)始使用Python編程之前,需要介紹Python的安裝過(guò)程。python解釋器在Linux中可以內(nèi)置使用安裝

步驟如下:

***步:打開(kāi)Web瀏覽器并訪問(wèn)官網(wǎng);

第二步:

在官網(wǎng)首頁(yè)點(diǎn)擊Download鏈接,進(jìn)入下載界面,選擇Python軟件的版本,作者選擇下載python 2.7.8,點(diǎn)擊“Download”鏈接。

Python下載地址:

第三步:選擇文件下載地址,并下載文件。

第四步:雙擊下載的“python-2.7.8.msi”軟件,并對(duì)軟件進(jìn)行安裝。

第五步:在Python安裝向?qū)е羞x擇默認(rèn)設(shè)置,點(diǎn)擊“Next”,選擇安裝路徑,這里設(shè)置為默認(rèn)的安裝路徑“C:Python27”,點(diǎn)擊“Next”按鈕,如圖所示。

注意1:建議將Python安裝在C盤(pán)下,通常路徑為C:Python27,不要存在中文路徑。

在Python安裝向?qū)е羞x擇默認(rèn)設(shè)置,點(diǎn)擊“Next”,選擇安裝路徑,這里設(shè)置為默認(rèn)的安裝路徑“C:Python27”,點(diǎn)擊“Next”按鈕。

安裝成功后,如下圖所示:

第六步:假設(shè)安裝一切正常,點(diǎn)擊“開(kāi)始”,選中“程序”,找到安裝成功的Python軟件,如圖所示:

選中上圖中第三個(gè)圖標(biāo),即點(diǎn)擊“Python (command line)命令行模式”,運(yùn)行程序輸入如下代碼:

 

  1. print 'hello world' 

則python命令行模式的解釋器會(huì)打印輸出“hello world”字符串,如下圖所示。

選中圖中的***個(gè)圖片,點(diǎn)擊“IDLE (Python GUI)”,即運(yùn)行Python的集成開(kāi)發(fā)環(huán)境(Python Integrated Development Environment,IDLE),運(yùn)行結(jié)果如下圖。

注意2:建議大家使用IDLE寫(xiě)腳本,完整的代碼而不是通過(guò)命令行模式。

2、Python基礎(chǔ)知識(shí)

這里簡(jiǎn)單入門(mén)介紹,主要介紹下條件語(yǔ)句、循環(huán)語(yǔ)句、函數(shù)等基礎(chǔ)知識(shí)。

a、函數(shù)及運(yùn)行

這里舉個(gè)簡(jiǎn)單的例子。打開(kāi)IDLE工具->點(diǎn)擊欄"File"->New File新建文件->命名為test.py文件,在test文件里添加代碼如下:

保存文件。并在test.py文件里點(diǎn)擊Run->Run Module,輸出結(jié)果如下圖所示。

b、條件語(yǔ)句

包括單分支、雙分支和多分支語(yǔ)句,if-elif-else。

(1).單分支語(yǔ)句

它的基本格式是: 

  1. if condition:  
  2. statement  
  3. statement 

需要注意的是Ptthon中if條件語(yǔ)句條件無(wú)需圓括號(hào)(),條件后面需要添加冒號(hào),它沒(méi)有花括號(hào){}而是使用TAB實(shí)現(xiàn)區(qū)分。其中condition條件判斷通常有布爾表達(dá)式(True|False 0-假|(zhì)1-真 非0即真)、關(guān)系表達(dá)式(>= <= == !=)和邏輯運(yùn)算表達(dá)式(and or not)。

(2).雙分支語(yǔ)句

它的基本格式是: 

  1. if condition:  
  2. statement  
  3. statement  
  4. else:  
  5. statement  
  6. statement 

(3).多分支語(yǔ)句

if多分支由if-elif-else組成,其中elif相當(dāng)于else if,同時(shí)它可以使用多個(gè)if的嵌套。具體代碼如下所示:

c、while循環(huán)語(yǔ)句

while循環(huán)語(yǔ)句的基本格式如下: 

  1. while condition:  
  2. statement  
  3. statement  
  4. else:  
  5. statement  
  6. statement 

其中判斷條件語(yǔ)句condition可以為布爾表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)式,else可以省略(此處列出為與C語(yǔ)言等區(qū)別)。舉個(gè)例子:

d、for循環(huán)

該循環(huán)語(yǔ)句的基礎(chǔ)格式為: 

  1. for target in sequences:  
  2. statements 

target表示變量名,sequences表示序列,常見(jiàn)類型有l(wèi)ist(列表)、tuple(元組)、strings(字符串)和files(文件)。

Python的for沒(méi)有體現(xiàn)出循環(huán)的次數(shù),不像C語(yǔ)言的for(i=0;i<10;i++)中i循環(huán)計(jì)數(shù),Python的for指每次從序列sequences里面的數(shù)據(jù)項(xiàng)取值放到target里,取完即結(jié)束,取多少次循環(huán)多少次。其中in為成員資格運(yùn)算符,檢查一個(gè)值是否在序列中。同樣可以使用break和continue跳出循環(huán)。

下面是文件循環(huán)遍歷的過(guò)程:

e、課堂講解代碼

僅供大家參考:

輸出結(jié)果如下圖所示:

三. 安裝PIP及第三方包

接下來(lái)需要詳解介紹爬蟲(chóng)相關(guān)的知識(shí)了,這里主要涉及到下面幾個(gè)知識(shí):

爬蟲(chóng)主要使用Python(字符串|urllib)+Selenium+PhantomJS+BeautifulSoup。

在介紹爬蟲(chóng)及Urllib下載網(wǎng)頁(yè)或圖片之前,先教大家如何使用pip安裝第三方的庫(kù)。

PIP

在介紹介紹它們之前,需要安裝PIP軟件。“作為Python愛(ài)好者,如果不知道easy_install或者pip中的任何一個(gè)的話,那么......”。

easy_insall的作用和perl中的cpan,ruby中的gem類似,都提供了在線一鍵安裝模塊的傻瓜方便方式,而pip是easy_install的改進(jìn)版,提供更好的提示信息,刪除package等功能。老版本的python中只有easy_install,沒(méi)有pip。常見(jiàn)的具體用法如下:

***步:下載PIP軟件

可以在官網(wǎng)http://pypi.python.org/pypi/pip#downloads下載,同時(shí)cd切換到PIP目錄,在通過(guò)python setup.py install安裝。而我采用的是下載pip-Win_1.7.exe進(jìn)行安裝

第二步:安裝PIP軟件

當(dāng)提示"pip and virtualenv installed"表示安裝成功,那怎么測(cè)試PIP安裝成功呢?

第三步:配置環(huán)境變量

此時(shí)在cmd中輸入pip指令會(huì)提示錯(cuò)誤“不是內(nèi)部或外部命令”。

注意:兩種解決方法,一種是通過(guò)cd ..去到Srcipts環(huán)境進(jìn)行安裝,pip install...

方法二:另一種配置Path路徑。

需要添加path環(huán)境變量。PIP安裝完成后,會(huì)在Python安裝目錄下添加pythonScripts目錄,即在python安裝目錄的Scripts目錄下,將此目錄加入環(huán)境變量中即可!過(guò)程如下:

第四步:使用PIP命令

下面在CMD中使用PIP命令,“pip list outdate”列舉Python安裝庫(kù)的版本信息。

注意:安裝成功后,會(huì)在Python環(huán)境中增加Scripts文件夾,包括easy_install和pip。

PIP安裝過(guò)程中可能出現(xiàn)各種問(wèn)題,一種解決方法是去到python路徑,通過(guò)python set_up.py install安裝;另一種是配置Path環(huán)境比例。

課堂重點(diǎn)知識(shí):

***節(jié)課主要想讓大家體會(huì)下Python網(wǎng)絡(luò)爬蟲(chóng)的過(guò)程及示例。需要安裝的第三方庫(kù)主要包括三個(gè): 

  1. pip install httplib2  
  2. pip install urllib  
  3. pip install selenium 

在安裝過(guò)程中,如果pip install urllib報(bào)錯(cuò),是因?yàn)閔ttplib2包含了,可直接用。

注意:如果pip安裝報(bào)錯(cuò)ascii編碼問(wèn)題,需要把計(jì)算機(jī)名稱從中文修改為英文名。

四. Urllib下載網(wǎng)頁(yè)及圖片

在使用pip install urllib或pip install urllib2后,下面這段代碼是下載網(wǎng)頁(yè)。

首先我們調(diào)用的是urllib2庫(kù)里面的urlopen方法,傳入一個(gè)URL,這個(gè)網(wǎng)址是百度首頁(yè),協(xié)議是HTTP協(xié)議,當(dāng)然你也可以把HTTP換做FTP、FILE、HTTPS 等等,只是代表了一種訪問(wèn)控制協(xié)議,urlopen一般接受三個(gè)參數(shù),它的參數(shù)如下:

***個(gè)參數(shù)url即為URL,第二個(gè)參數(shù)data是訪問(wèn)URL時(shí)要傳送的數(shù)據(jù),第三個(gè)timeout是設(shè)置超時(shí)時(shí)間。

第二三個(gè)參數(shù)是可以不傳送的,data默認(rèn)為空None,timeout默認(rèn)為 socket._GLOBAL_DEFAULT_TIMEOUT。

***個(gè)參數(shù)URL是必須要傳送的,在這個(gè)例子里面我們傳送了百度的URL,執(zhí)行urlopen方法之后,返回一個(gè)response對(duì)象,返回信息便保存在這里面。

response對(duì)象有一個(gè)read方法,可以返回獲取到的網(wǎng)頁(yè)內(nèi)容。

獲取的網(wǎng)頁(yè)本地保存為"baidu.html",通過(guò)瀏覽器打開(kāi)如下圖所示:

然后是需要下載圖片,這里需要學(xué)會(huì)找到圖片的URL,如下圖百度的LOGO,可以通過(guò)瀏覽器右鍵"審查元素"或"檢查"來(lái)進(jìn)行定位。

定位URL后,再通過(guò)函數(shù)urlretrieve()進(jìn)行下載。

重點(diǎn)知識(shí):

urllib.urlopen(url[, data[, proxies]]) :創(chuàng)建一個(gè)表示遠(yuǎn)程url的類文件對(duì)象,然后像本地文件一樣操作這個(gè)類文件對(duì)象來(lái)獲取遠(yuǎn)程數(shù)據(jù)。

urlretrieve方法直接將遠(yuǎn)程數(shù)據(jù)下載到本地。

如果需要顯示進(jìn)度條,則使用下面這段代碼:

五. HTML網(wǎng)頁(yè)基礎(chǔ)知識(shí)及審查元素

HTML DOM是HTML Document Object Model(文檔對(duì)象模型)的縮寫(xiě),HTML DOM則是專門(mén)適用于HTML/XHTML的文檔對(duì)象模型。熟悉軟件開(kāi)發(fā)的人員可以將HTML DOM理解為網(wǎng)頁(yè)的API。它將網(wǎng)頁(yè)中的各個(gè)元素都看作一個(gè)個(gè)對(duì)象,從而使網(wǎng)頁(yè)中的元素也可以被計(jì)算機(jī)語(yǔ)言獲取或者編輯。

DOM是以層次結(jié)構(gòu)組織的節(jié)點(diǎn)或信息片斷的集合。這個(gè)層次結(jié)構(gòu)允許開(kāi)發(fā)人員在樹(shù)中導(dǎo)航尋找特定信息。分析該結(jié)構(gòu)通常需要加載整個(gè)文檔和構(gòu)造層次結(jié)構(gòu),然后才能做任何工作。由于它是基于信息層次的,因而 DOM 被認(rèn)為是基于樹(shù)或基于對(duì)象的。

HTML DOM 定義了訪問(wèn)和操作HTML文檔的標(biāo)準(zhǔn)方法。 HTML DOM 把 HTML 文檔呈現(xiàn)為帶有元素、屬性和文本的樹(shù)結(jié)構(gòu)(節(jié)點(diǎn)樹(shù))。它們都是一個(gè)節(jié)點(diǎn)(Node),就像公司的組織結(jié)構(gòu)圖一樣。 我們現(xiàn)在從另一個(gè)角度來(lái)審視源代碼,first.html的源碼如下:

這個(gè)例子的***個(gè)元素就是<html>元素,在這個(gè)元素的起始標(biāo)簽和終止標(biāo)簽之間,又有幾個(gè)標(biāo)簽分別起始和閉合,包括<head>、<title>和<body>。<head>和<body>標(biāo)簽是直接被<html>元素包含的,而<title>標(biāo)簽則包含在<head>標(biāo)簽內(nèi)。要描述一個(gè)HTML網(wǎng)頁(yè)的這種多層結(jié)構(gòu),用樹(shù)來(lái)進(jìn)行類比是***的方式。樹(shù)形結(jié)構(gòu)如下圖所示:

重點(diǎn):

在網(wǎng)絡(luò)爬蟲(chóng)中,通常需要結(jié)合瀏覽器來(lái)定位元素,瀏覽器右鍵通常包括兩個(gè)重要的功能:查看源代碼和審查或檢查元素。

通過(guò)審查元素,可以定位到需要爬取圖片或網(wǎng)頁(yè)的HTML源文件,通常是table或div的布局,這些HTML標(biāo)簽通常是成對(duì)出現(xiàn)的,如<html></html>、<div></div>等;同時(shí)會(huì)包括一些屬性id、name、class來(lái)指定該標(biāo)簽。如: 

  1. <div id="content" name="n1" class="cc">....</div> 

六. 安裝Selenium及網(wǎng)頁(yè)簡(jiǎn)單爬取

Selenium用于Web應(yīng)用程序測(cè)試的工具,模擬瀏覽器用戶操作,通過(guò)Locating Elements 定位元素。安裝過(guò)程如下圖所示,通過(guò)pip install selenium安裝。

注意:需要cd去到Scripts目錄進(jìn)行安裝。

selenium結(jié)合瀏覽器定位的基本函數(shù)包括:

***個(gè)基于Selenium爬蟲(chóng)的代碼,通過(guò)調(diào)用Firefox瀏覽器:

輸出如下圖所示:

 

責(zé)任編輯:龐桂玉 來(lái)源: 今日頭條
相關(guān)推薦

2021-12-01 12:30:43

NiceUmiJS前端

2023-04-20 08:00:00

ES搜索引擎MySQL

2021-07-01 07:08:10

consul服務(wù)注冊(cè)發(fā)現(xiàn)框 架

2021-07-06 06:50:31

pikaredis存儲(chǔ)數(shù)據(jù)

2022-07-06 07:57:37

Zookeeper分布式服務(wù)框架

2022-02-21 09:44:45

Git開(kāi)源分布式

2021-01-28 08:55:48

Elasticsear數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)

2022-08-26 10:32:21

MongoDB數(shù)據(jù)庫(kù)

2021-07-21 09:48:20

etcd-wal模塊解析數(shù)據(jù)庫(kù)

2024-11-04 08:54:30

2021-07-12 10:36:36

Blazor組件入門(mén)

2012-03-28 10:40:11

jQuery

2019-04-09 11:07:15

HTTPS加密安全

2021-06-09 09:08:10

LDOlowdropoutr穩(wěn)壓器

2017-11-20 15:09:21

2020-12-24 08:07:18

SpringBootSpring SecuWeb

2021-06-28 10:04:12

SpringCloudSleuth微服務(wù)

2024-04-12 09:01:08

2023-09-11 08:13:03

分布式跟蹤工具

2020-01-13 13:10:29

技術(shù)研發(fā)運(yùn)維
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)