跟我學(xué)習(xí)Python爬蟲系列開始啦。帶你簡單快速高效學(xué)習(xí)Python爬蟲瓢姻。
一厅贪、快速體驗(yàn)一個簡單爬蟲
以抓取簡書首頁文章標(biāo)題和鏈接為例
就是以上紅色框內(nèi)文章的標(biāo)簽山涡,和這個標(biāo)題對應(yīng)的url鏈接。當(dāng)然首頁還包括其他數(shù)據(jù)必怜,如文章作者肉拓,文章評論數(shù),點(diǎn)贊數(shù)梳庆。這些在一起暖途,稱為結(jié)構(gòu)化數(shù)據(jù)。我們先從簡單的做起膏执,先體驗(yàn)一下Python之簡單驻售,之快捷。
1)環(huán)境準(zhǔn)備
當(dāng)然前提是你在機(jī)器上裝好了Python環(huán)境更米,初步掌握和了解Python語法芋浮。如果還沒有裝好Python環(huán)境,對Python語言法不了解,可以先看《然學(xué)科技 Python基礎(chǔ)系列》文章:http://www.reibang.com/nb/20496406
2)安裝相應(yīng)包
快速入門我們使用的是requests
包和BeautifulSoup
包纸巷。簡單解釋一下镇草,requests
功能強(qiáng)大,代碼少瘤旨,封裝了網(wǎng)絡(luò)請求request(發(fā)起請求)和response(網(wǎng)絡(luò)響應(yīng))梯啤,request就像打開瀏覽器地址欄輸入你想要訪問的網(wǎng)站,瀏覽器中馬上就可以看到內(nèi)容一樣(response)存哲。
爬蟲可以抓到大量數(shù)據(jù)(結(jié)構(gòu)化的數(shù)據(jù))因宇,存到數(shù)據(jù)庫中(或excel, csv文件),再進(jìn)行清洗整理祟偷,進(jìn)行其他工作察滑,如數(shù)據(jù)分析等。數(shù)據(jù)抓取也是數(shù)據(jù)分析前提和基礎(chǔ)修肠。
- 安裝
requests
pip install requests
- 安裝
beautifulsoup4
pip install beautifulsoup4
- 可以查看一下你安裝了哪些包
pip list
3)代碼:
# _*_ coding:utf-8 _*_
import requests
from bs4 import BeautifulSoup
URL='http://www.reibang.com'
def simple_crawel():
html = requests.get(URL).content
soup = BeautifulSoup(html, 'lxml')
titles = soup.find_all('a',class_="title")
for t in titles:
print t.text+' -->>> '+'http://www.reibang.com'+t['href']
if __name__ == '__main__':
simple_crawel()
運(yùn)行這個文件:
python demo.py
結(jié)果:
代碼解析:
html = requests.get(URL).content
發(fā)起一個請求贺辰,獲到到頁面的內(nèi)容(文本),對的就是一行代碼就抓取到網(wǎng)頁的全部內(nèi)容嵌施。下一步就是要對頁面進(jìn)行解析饲化。
titles = soup.find_all('a',class_="title")
這行代碼表示,尋找頁面上所有class
屬性為title
的a
標(biāo)簽吗伤,就是文章標(biāo)題所對應(yīng)的標(biāo)簽吃靠。怎樣才能找到文章標(biāo)題對就是的哪個標(biāo)題呢?很簡單足淆,在chrome瀏覽器中右鍵“檢查”中查看就知道巢块。看下圖:
然后再循環(huán)遍歷巧号,就得到每一個文章標(biāo)題的a
標(biāo)簽對象族奢,在循環(huán)中取出文章標(biāo)題的內(nèi)容'text'和鏈接href
就行了。
就這么簡單裂逐,10行代碼就抓取到首頁熱門文章的標(biāo)題和URL打印在屏幕上。
二泣栈、學(xué)習(xí)爬蟲需要的相關(guān)知識
代碼很少卜高,涉及到的知識點(diǎn)卻很多。如果想要入門系統(tǒng)學(xué)習(xí)Python爬蟲需要哪些知識呢南片?
- Python語言基礎(chǔ)
- Python爬蟲相關(guān)庫
- HTTP請求響應(yīng)模式
- HTML基礎(chǔ)(HTML+CSS)
- 數(shù)據(jù)庫基礎(chǔ)
以上內(nèi)容掺涛,都會在《跟我學(xué)Python爬蟲》逐步講。也可以把Python爬蟲作為Python語言學(xué)習(xí)的起點(diǎn)疼进,來了解和學(xué)習(xí)這門“人工智能的第一語言”薪缆,進(jìn)而打開爬蟲、數(shù)據(jù)分析伞广、數(shù)據(jù)可視化拣帽、深度學(xué)習(xí)疼电、人工智能的大門。