爬蟲有什么用?在Python中爬蟲要做的是什么纽谒?
其實(shí)我們所謂的上網(wǎng)便是由用戶端計(jì)算機(jī)發(fā)送請(qǐng)求給目標(biāo)計(jì)算機(jī)证膨,將目標(biāo)計(jì)算機(jī)的數(shù)據(jù)下載到本地的過程。
只不過鼓黔,用戶獲取網(wǎng)絡(luò)數(shù)據(jù)的方式是: 瀏覽器提交請(qǐng)求->下載網(wǎng)頁代碼->解析/渲染成頁面央勒。
而爬蟲程序要做的就是: 模擬瀏覽器發(fā)送請(qǐng)求->下載網(wǎng)頁代碼->只提取有用的數(shù)據(jù)->存放于數(shù)據(jù)庫或文件中
爬蟲基本流程:
- 發(fā)送請(qǐng)求 ---> 獲取響應(yīng)內(nèi)容 ---> 解析內(nèi)容 ---> 保存數(shù)據(jù)
- 1、發(fā)起請(qǐng)求使用http庫向目標(biāo)站點(diǎn)發(fā)起請(qǐng)求澳化,即發(fā)送一個(gè)RequestRequest包含:請(qǐng)求頭崔步、請(qǐng)求體等
- 2、獲取響應(yīng)內(nèi)容如果服務(wù)器能正常響應(yīng)缎谷,則會(huì)得到一個(gè)ResponseResponse包含:html井濒,json,圖片列林,視頻等
- 3瑞你、解析內(nèi)容解析html數(shù)據(jù):正則表達(dá)式,第三方解析庫如Beautifulsoup希痴,pyquery等解析json數(shù)據(jù):json模塊解析二進(jìn)制數(shù)據(jù):以b的方式寫入文件
- 4者甲、分類保存數(shù)據(jù)如:excel表格、數(shù)據(jù)庫文件
如果我們把互聯(lián)網(wǎng)比作一張大的蜘蛛網(wǎng)润梯,那一臺(tái)計(jì)算機(jī)上的數(shù)據(jù)便是蜘蛛網(wǎng)上的一個(gè)獵物过牙,而爬蟲程序就是一只小蜘蛛甥厦,沿著蜘蛛網(wǎng)抓取自己想要的獵物(數(shù)據(jù))纺铭。
爬蟲的定義: 向網(wǎng)站發(fā)起請(qǐng)求,獲取資源后分析并提取有用數(shù)據(jù)的程序
爬蟲的價(jià)值: 互聯(lián)網(wǎng)中最有價(jià)值的便是數(shù)據(jù)刀疙,比如天貓商城的商品信息舶赔,鏈家網(wǎng)的租房信息,雪球網(wǎng)的證券投資信息等等谦秧,這些數(shù)據(jù)都代表了各個(gè)行業(yè)的真金白銀竟纳,可以說撵溃,誰掌握了行業(yè)內(nèi)的第一手?jǐn)?shù)據(jù),誰就成了整個(gè)行業(yè)的主宰锥累,如果把整個(gè)互聯(lián)網(wǎng)的數(shù)據(jù)比喻為一座寶藏缘挑,那我們的爬蟲課程就是來教大家如何來高效地挖掘這些寶藏,掌握了爬蟲技能桶略,你就成了所有互聯(lián)網(wǎng)信息公司幕后的老板语淘,換言之,它們都在免費(fèi)為你提供有價(jià)值的數(shù)據(jù)际歼。
總結(jié)爬蟲流程: 爬取--->解析--->存儲(chǔ)
爬蟲所需工具:
- 請(qǐng)求庫:requests,selenium
- 解析庫:正則惶翻,beautifulsoup,pyquery
- 存儲(chǔ)庫:文件鹅心,MySQL吕粗,Mongodb,Redis
- 爬蟲常用框架: scrapy