99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

12行簡(jiǎn)單的Python代碼,初窺爬蟲的秘境

馬哥Linux運(yùn)維 ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-06-07 09:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

往往不少童鞋寫論文苦于數(shù)據(jù)獲取艱難,輾轉(zhuǎn)走上爬蟲之路;

許多分析師做輿情監(jiān)控或者競(jìng)品分析的時(shí)候,也常常使用到爬蟲。

今天,本文將帶領(lǐng)小伙伴們通過(guò)12行簡(jiǎn)單的Python代碼,初窺爬蟲的秘境。

爬蟲目標(biāo)

本文采用requests + Xpath,爬取豆瓣電影《黑豹》部分短評(píng)內(nèi)容。

運(yùn)行以上的爬蟲腳本,我們得以見證奇跡

爬蟲結(jié)果與原網(wǎng)頁(yè)內(nèi)容的對(duì)比,完全一致

通過(guò)tqdm模塊實(shí)現(xiàn)了良好的交互

工具準(zhǔn)備

chrome瀏覽器(分析HTTP請(qǐng)求、抓包)

安裝Python 3及相關(guān)模塊(requests、lxml、pandas、time、random、tqdm)requests:用來(lái)簡(jiǎn)單請(qǐng)求數(shù)據(jù)lxml:比Beautiful Soup更快更強(qiáng)的解析庫(kù)pandas:數(shù)據(jù)處理神器time:設(shè)置爬蟲訪問(wèn)間隔防止被抓random:隨機(jī)數(shù)生成工具,配合time使用tqdm:交互好工具,顯示程序運(yùn)行進(jìn)度

基本步驟

網(wǎng)絡(luò)請(qǐng)求分析

網(wǎng)頁(yè)內(nèi)容解析

數(shù)據(jù)讀取存儲(chǔ)

涉及知識(shí)點(diǎn)

爬蟲協(xié)議

http請(qǐng)求分析

requests請(qǐng)求

Xpath語(yǔ)法

Python基礎(chǔ)語(yǔ)法

Pandas數(shù)據(jù)處理

爬蟲協(xié)議

爬蟲協(xié)議即網(wǎng)站根目錄之下的robots.txt文件,用來(lái)告知爬蟲者哪些可以拿哪些不能偷,其中Crawl-delay告知了網(wǎng)站期望的被訪問(wèn)的間隔。(為了對(duì)方服務(wù)器端同學(xué)的飯碗,文明拿數(shù)據(jù),本文將爬蟲訪問(wèn)間隔設(shè)置為6-9秒的隨機(jī)數(shù))

豆瓣網(wǎng)站的爬蟲協(xié)議

HTTP請(qǐng)求分析

使用chrome瀏覽器訪問(wèn)《黑豹》短評(píng)頁(yè)面https://movie.douban.com/subject/6390825/comments?sort=new_score&status=P,按下F12,進(jìn)入network面板進(jìn)行網(wǎng)絡(luò)請(qǐng)求的分析,通過(guò)刷新網(wǎng)頁(yè)重新獲得請(qǐng)求,借助chrome瀏覽器對(duì)請(qǐng)求進(jìn)行篩選、分析,找到那個(gè)Ta

豆瓣短評(píng)頁(yè)面請(qǐng)求分析

通過(guò)請(qǐng)求分析,我們找到了目標(biāo)url為'https://movie.douban.com/subject/6390825/comments?start=0&limit=20&sort=new_score&status=P&percent_type=',并且每次翻頁(yè),參數(shù)start將往上增加20(通過(guò)多次翻頁(yè)嘗試,我們發(fā)現(xiàn)第11頁(yè)以后需要登錄才能查看,且登錄狀態(tài)也僅展示前500條短評(píng)。作為簡(jiǎn)單demo,本文僅對(duì)前11頁(yè)內(nèi)容進(jìn)行爬?。?/p>

requests請(qǐng)求

通過(guò)requests模塊發(fā)送一個(gè)get請(qǐng)求,用content方法獲取byte型數(shù)據(jù),并以u(píng)tf-8重新編碼;然后添加一個(gè)交互,判斷是否成功獲取到資源(狀態(tài)碼為200),輸出獲取狀態(tài)

請(qǐng)求詳情分析

(除了content,還有text方法,其返回unicode字符集,直接使用text方法遇到中文的話容易出現(xiàn)亂碼)

Xpath語(yǔ)法解析

獲取到數(shù)據(jù)之后,需要對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行解析,常用的工具有正則表達(dá)式、Beautiful Soup、Xpath等等;其中Xpath又快又方便。此處我們通過(guò)Xpath解析資源獲取到了前220條短評(píng)的用戶名、短評(píng)分?jǐn)?shù)、短評(píng)內(nèi)容等數(shù)據(jù)。(可借助chrome的強(qiáng)大功能直接復(fù)制Xpath,Xpath語(yǔ)法學(xué)習(xí)http://www.runoob.com/xpath/xpath-tutorial.html)

數(shù)據(jù)處理

獲取到數(shù)據(jù)之后,我們通過(guò)list構(gòu)造dictionary,然后通過(guò)dictionary構(gòu)造dataframe,并通過(guò)pandas模塊將數(shù)據(jù)輸出為csv文件

結(jié)語(yǔ)與彩蛋

本例通過(guò)requests+Xpath的方案,成功爬取了電影《黑豹》的部分豆瓣短評(píng)數(shù)據(jù),為文本分析或其他數(shù)據(jù)挖掘工作打好了數(shù)據(jù)地基。本文作為demo,僅展示了簡(jiǎn)單的爬蟲流程,更多彩蛋如請(qǐng)求頭、請(qǐng)求體信息獲取、cookie、模擬登錄、分布式爬蟲等請(qǐng)關(guān)注后期文章更新喲。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70746
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86757
  • 爬蟲
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

    7506

原文標(biāo)題:12行Python暴力爬《黑豹》豆瓣短評(píng)

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Python數(shù)據(jù)爬蟲學(xué)習(xí)內(nèi)容

    ,利用爬蟲,我們可以解決部分?jǐn)?shù)據(jù)問(wèn)題,那么,如何學(xué)習(xí)Python數(shù)據(jù)爬蟲能?1.學(xué)習(xí)Python基礎(chǔ)知識(shí)并實(shí)現(xiàn)基本的爬蟲過(guò)程一般獲取數(shù)據(jù)的過(guò)
    發(fā)表于 05-09 17:25

    Python爬蟲與Web開發(fā)庫(kù)盤點(diǎn)

    Python爬蟲和Web開發(fā)均是與網(wǎng)頁(yè)相關(guān)的知識(shí)技能,無(wú)論是自己搭建的網(wǎng)站還是爬蟲爬去別人的網(wǎng)站,都離不開相應(yīng)的Python庫(kù),以下是常用的Pyth
    發(fā)表于 05-10 15:21

    Python 爬蟲:8 個(gè)常用的爬蟲技巧總結(jié)!

    python也差不多一年多了,python應(yīng)用最多的場(chǎng)景還是web快速開發(fā)、爬蟲自動(dòng)化運(yùn)維:寫過(guò)簡(jiǎn)單網(wǎng)站、寫過(guò)自動(dòng)發(fā)帖腳本、寫過(guò)收發(fā)郵件腳本、寫過(guò)
    發(fā)表于 01-02 14:37

    什么是爬蟲?

    什么是爬蟲?爬蟲的價(jià)值?最簡(jiǎn)單python爬蟲爬蟲基本架構(gòu)
    發(fā)表于 11-05 06:13

    Python爬蟲簡(jiǎn)介與軟件配置

    Python爬蟲練習(xí)一、爬蟲簡(jiǎn)介1. 介紹2. 軟件配置二、爬取南陽(yáng)理工OJ題目三、爬取學(xué)校信息通知四、總結(jié)五、參考一、爬蟲簡(jiǎn)介1. 介紹網(wǎng)絡(luò)爬蟲
    發(fā)表于 01-11 06:32

    完全自學(xué)指南Python爬蟲BeautifulSoup詳解

    完全自學(xué)指南Python爬蟲BeautifulSoup詳解
    發(fā)表于 09-07 08:55 ?39次下載
    完全自學(xué)指南<b class='flag-5'>Python</b><b class='flag-5'>爬蟲</b>BeautifulSoup詳解

    Python爬蟲8個(gè)常用的爬蟲技巧分析總結(jié)

    python也差不多一年多了,python應(yīng)用最多的場(chǎng)景還是web快速開發(fā)、爬蟲、自動(dòng)化運(yùn)維:寫過(guò)簡(jiǎn)單網(wǎng)站、寫過(guò)自動(dòng)發(fā)帖腳本、寫過(guò)收發(fā)郵件腳本、寫過(guò)
    的頭像 發(fā)表于 08-18 11:45 ?5307次閱讀

    python爬蟲入門教程之python爬蟲視頻教程分布式爬蟲打造搜索引擎

    本文檔的主要內(nèi)容詳細(xì)介紹的是python爬蟲入門教程之python爬蟲視頻教程分布式爬蟲打造搜索引擎
    發(fā)表于 08-28 15:32 ?30次下載

    python為什么叫爬蟲

     作為一門編程語(yǔ)言而言,Python是純粹的自由軟件,以簡(jiǎn)潔清晰的語(yǔ)法和強(qiáng)制使用空白符進(jìn)行語(yǔ)句縮進(jìn)的特點(diǎn)從而深受程序員的喜愛(ài)。舉一個(gè)例子:完成一個(gè)任務(wù)的話,c語(yǔ)言一共要寫1000代碼,java要寫
    的頭像 發(fā)表于 12-27 16:46 ?15.4w次閱讀
    <b class='flag-5'>python</b>為什么叫<b class='flag-5'>爬蟲</b>

    python為什么叫爬蟲 python工資高還是java的高

    要寫1000代碼,java要寫100,而python則只需要寫20代碼。使用
    發(fā)表于 02-19 17:56 ?668次閱讀

    python實(shí)現(xiàn)簡(jiǎn)單爬蟲的資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是python實(shí)現(xiàn)簡(jiǎn)單爬蟲的資料說(shuō)明。
    發(fā)表于 11-02 17:53 ?21次下載
    <b class='flag-5'>python</b>實(shí)現(xiàn)<b class='flag-5'>簡(jiǎn)單</b><b class='flag-5'>爬蟲</b>的資料說(shuō)明

    榮耀手表GS Pro星空版發(fā)布:首銷1299元

    ,將于今天 12 點(diǎn)開售。 榮耀手表 GS Pro 星空版靈感來(lái)自 Discovery 對(duì)未知星空的探索,將金星的璀璨顏色運(yùn)用到了表圈和側(cè)面按鍵的設(shè)計(jì),同時(shí)以手工拋光、拉絲、不銹鋼精工和蝕刻工藝搭配
    的頭像 發(fā)表于 01-22 13:52 ?2039次閱讀

    Python寫網(wǎng)絡(luò)爬蟲

    Python寫網(wǎng)絡(luò)爬蟲的方法說(shuō)明。
    發(fā)表于 06-01 11:55 ?21次下載

    利用Python編寫簡(jiǎn)單網(wǎng)絡(luò)爬蟲實(shí)例

    利用 Python編寫簡(jiǎn)單網(wǎng)絡(luò)爬蟲實(shí)例2 實(shí)驗(yàn)環(huán)境python版本:3.3.5(2.7下報(bào)錯(cuò)
    發(fā)表于 02-24 11:05 ?14次下載

    crawlerdetect:Python代碼檢測(cè)爬蟲

    是否擔(dān)心高頻率爬蟲導(dǎo)致網(wǎng)站癱瘓? 別擔(dān)心,現(xiàn)在有一個(gè)Python寫的神器——crawlerdetect,幫助你檢測(cè)爬蟲,保障網(wǎng)站的正常運(yùn)轉(zhuǎn)。 1.準(zhǔn)備 開始之前,你要確保Python
    的頭像 發(fā)表于 11-02 11:31 ?877次閱讀