目前可以基本上說(shuō)是Python的天下俯树,Python真的是非沉备梗火的一門(mén)編程語(yǔ)言,而且它非常的簡(jiǎn)單许饿,以至于小學(xué)生都可以學(xué)會(huì)阳欲,那么作為已經(jīng)成年的我,更應(yīng)該學(xué)習(xí)這門(mén)編程語(yǔ)言了陋率,下面我就將自己在學(xué)習(xí)Python爬蟲(chóng)時(shí)遇到的問(wèn)題進(jìn)行簡(jiǎn)單的總結(jié):
既然要使用Python爬取網(wǎng)站信息球化,那么我們就需要知道怎么使用Python才能爬取到我們需要的信息,這就牽扯到我們今天需要介紹的內(nèi)容:requests庫(kù)
- 首先是安裝requests庫(kù):如下圖所示:
代碼如下:
pip install requests
需要注意的一點(diǎn)是瓦糟,如果安裝出現(xiàn)了錯(cuò)誤筒愚,這個(gè)時(shí)候需要更換到國(guó)內(nèi)的源,國(guó)內(nèi)的是使用的是豆瓣菩浙,具體方法巢掺,請(qǐng)自行百度。
- 安裝jupyter
具體的安裝步驟:請(qǐng)參閱Python學(xué)習(xí)之Jupyter Notebook和highchart安裝劲蜻,下面我們就可以是用jupyter來(lái)書(shū)寫(xiě)代碼陆淀,而且操作方法。
- 爬蟲(chóng)代碼
當(dāng)然我們練習(xí)的時(shí)候先嬉,可以使用簡(jiǎn)書(shū)的網(wǎng)站來(lái)爬取數(shù)據(jù)轧苫,代碼如下:
# -*- coding: utf-8 -*-
import requests
url = 'http://www.reibang.com'
res = requests.get(url)
print(res.text)
就可以答應(yīng)出下面圖片中所示的內(nèi)容,跟簡(jiǎn)書(shū)網(wǎng)站比較坝初,就發(fā)現(xiàn)我們已經(jīng)完整的將簡(jiǎn)書(shū)網(wǎng)首頁(yè)的數(shù)據(jù)爬取下來(lái)了浸剩。如圖:
- 使用BeautifulSoup來(lái)解析網(wǎng)頁(yè)數(shù)據(jù)
現(xiàn)在我們是已經(jīng)將網(wǎng)頁(yè)整個(gè)html頁(yè)面拿到了,可是這里面包含很多的標(biāo)簽鳄袍,我們需要去掉標(biāo)簽绢要,將標(biāo)簽中的有用的信息展示出來(lái),那么就需要使用另外一個(gè)非常好用的Python庫(kù)--BeautifulSoup拗小,到底如何解析標(biāo)簽中的數(shù)據(jù)內(nèi)重罪,我們可以通過(guò)查看文檔(Beautiful Soup 4.2.0 文檔)來(lái)進(jìn)行解析,也可以瀏覽視頻哀九,而且現(xiàn)在的在線教育的視頻資源是非常豐富的剿配。
下面我就展示其中的一種解析方法,當(dāng)然有很多的解析方法阅束,具體可以查閱文檔呼胚。代碼如下:
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
url = 'http://www.reibang.com'
res = requests.get(url)
ret = res.text
# print(type(ret))
soup = BeautifulSoup(ret,'html.parse')
print(soup.text)
需要注意的是:我的環(huán)境使用的Python3.5的版本,因此在打印輸出的時(shí)候使用的是小括號(hào)息裸,而在Python2.7的版本中打印時(shí)不需要使用小括號(hào)蝇更,還有使用BeautifulSoup解析字符串時(shí)沪编,需要傳入第二個(gè)參數(shù),如果沒(méi)有傳入的話年扩,會(huì)出現(xiàn)警告錯(cuò)誤的蚁廓,獲得的數(shù)據(jù)如下:
當(dāng)然這只是獲得了所有的數(shù)據(jù),我們還可以具體的獲得其中一小部分的數(shù)據(jù)厨幻,我們下次再進(jìn)行說(shuō)明相嵌。