用Python學(xué)爬蟲最大的好處就是python有很多實用庫牵现,免去了我們自己造輪子的環(huán)節(jié),那么找哪些輪子呢常侦?Python爬蟲有兩個比較實用的庫星爪,Requests和Beautiful Soup。我認(rèn)為學(xué)好這兩個庫曾掂,Python爬蟲也就學(xué)的差不多了惫谤。
是什么?
Requests is the only Non-GMO HTTP library for Python, safe for human consumption.
Beautiful Soup 是一個可以從HTML或XML文件中提取數(shù)據(jù)的Python庫.它能夠通過你喜歡的轉(zhuǎn)換器實現(xiàn)慣用的文檔導(dǎo)航,查找,修改文檔的方式.Beautiful Soup會幫你節(jié)省數(shù)小時甚至數(shù)天的工作時間.
Requests是Python上一類HTTP庫珠洗,它可以向服務(wù)器發(fā)起請求溜歪,并獲取響應(yīng)许蓖,完成網(wǎng)頁訪問這一步。
Beautiful Soup可以讓我們對獲取的響應(yīng)進(jìn)行解析膊爪,相當(dāng)于我打開瀏覽器找到目標(biāo)內(nèi)容自阱。
正如我在當(dāng)我們寫爬蟲的時候米酬,我們實際在做什么?中寫的赃额,爬蟲的核心無非是訪問網(wǎng)頁并提取內(nèi)容,因此這兩個庫也是我用Python學(xué)習(xí)爬蟲的核心跳芳。
怎么用芍锦?
下面就是使用兩者所創(chuàng)建的一個非常的迷你的爬蟲飞盆。你或許不會認(rèn)同,但是他的確體現(xiàn)了爬蟲的核心:獲取請求網(wǎng)頁桨啃,并提取信息车胡。
# 導(dǎo)入所需庫
import requests
from bs4 import BeautifulSoup
# 向服務(wù)器發(fā)起request照瘾,得到響應(yīng)
url = 'http://www.reibang.com/trending/now'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
response = requests.get(url, headers=headers)
# 查看響應(yīng)狀態(tài)
response.status_code
# 對響應(yīng)使用lxml解析器進(jìn)行解析
soup = BeautifulSoup(response.text, 'lxml')
# 使用內(nèi)置的css選擇器選擇內(nèi)容
soup.select('#list-container > ul.article-list.thumbnails > li > div > h4')
進(jìn)階
官方文檔永遠(yuǎn)是最好的教程,你能從這里面找到更詳細(xì)的內(nèi)容析命。使用Scrapy這個強大的Python爬蟲框架可以讓你事半功倍主卫,安利一下我寫的逃默。