自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用Python挖掘Twitter數(shù)據(jù):數(shù)據(jù)采集

大數(shù)據(jù)
這是7部系列中的第1部分,注重挖掘Twitter數(shù)據(jù)以用于各種案例。這是第一篇文章,專注于數(shù)據(jù)采集,起到奠定基礎(chǔ)的作用。

[[170062]]

這是7部系列中的第1部分,注重挖掘Twitter數(shù)據(jù)以用于各種案例。這是***篇文章,專注于數(shù)據(jù)采集,起到奠定基礎(chǔ)的作用。

Twitter是一個(gè)流行的社交網(wǎng)絡(luò),用戶可以共享稱為tweets的類似SMS的短消息。用戶在Twitter上分享想法、鏈接和圖片,記者發(fā)表現(xiàn)場活動(dòng)評論,企業(yè)改進(jìn)產(chǎn)品和吸引客戶等等。使用Twitter的不同的方式列表可能會很長,伴隨著每天5億的tweets,這里有大量的數(shù)據(jù)等著我們分析。

這是一系列使用Python專門用于Twitter數(shù)據(jù)挖掘的文章中的***篇。在***部分中,我們將看到通過不同的方式來進(jìn)行Twitter的數(shù)據(jù)收集。一旦我們建立好了一個(gè)數(shù)據(jù)集,在接下來的環(huán)節(jié)中,我們就將會討論一些有趣的數(shù)據(jù)應(yīng)用。

注冊應(yīng)用

為了能夠訪問Twitter數(shù)據(jù)編程,我們需要?jiǎng)?chuàng)建一個(gè)與Twitter的API交互的應(yīng)用程序。

***步是注冊一個(gè)你的應(yīng)用程序。值得注意的是,您需要將您的瀏覽器轉(zhuǎn)到http://apps.twitter.com,登錄到Twitter(如果您尚未登錄),并注冊一個(gè)新的應(yīng)用程序。您現(xiàn)在可以為您的應(yīng)用程序選擇一個(gè)名稱和說明(例如“挖掘演示”或類似)。您將收到一個(gè)消費(fèi)者密鑰和消費(fèi)者密碼:這些都是應(yīng)用程序設(shè)置,應(yīng)始終保密。在您的應(yīng)用程序的配置頁面,你也可以要求獲取一個(gè)訪問令牌和訪問令牌的密碼。類似于消費(fèi)者密鑰,這些字符串也必須保密:他們提供的應(yīng)用程序是代表您的帳戶訪問到Twitter。默認(rèn)權(quán)限是只讀的,這是我們在案例中需要的,但如果你決定改變您的許可,在應(yīng)用中提供更改功能,你就必須再獲得一個(gè)新的訪問令牌。

重要提示:使用Twitter的API時(shí)有速率限制,或者你想要提供一個(gè)可下載的數(shù)據(jù)集也會有限制,請參見: >

您可以使用 Twitter提供的REST APIs與他們的服務(wù)進(jìn)行交互。那里還有一群基于Python的客戶,我們可以重復(fù)循環(huán)使用。尤其Tweepy是其中最有趣和最直白的一個(gè),所以我們一起把它安裝起來:

 

安裝

 

更新:Tweepy發(fā)布的3.4.0版本在Python3上出現(xiàn)了一些問題,目前被綁定在GitHub上還不能進(jìn)行使用,因此在新的版本出來之前,我們一直使用3.3.0版本。

更多的更新:Tweepy發(fā)布的3.5.0版本已經(jīng)可以使用,似乎解決了上述提到的在Python3上的問題。

為了授權(quán)我們的應(yīng)用程序以代表我們訪問Twitter,我們需要使用OAuth的界面:

界面

 

現(xiàn)在的API變量是我們?yōu)榭梢栽赥witter上執(zhí)行的大多數(shù)操作的入口點(diǎn)。

例如,我們可以看到我們自己的時(shí)間表(或者我們的Twitter主頁):

時(shí)間表

 

Tweepy提供便捷的光標(biāo)接口,對不同類型的對象進(jìn)行迭代。在上面的例子中我們用10來限制我們正在閱讀的tweets的數(shù)量,但是當(dāng)然其實(shí)我們是可以訪問更多的。狀態(tài)變量是Status() class的一個(gè)實(shí)例,是訪問數(shù)據(jù)時(shí)一個(gè)漂亮的包裝。Twitter API的JSON響應(yīng)在_json屬性(帶有前導(dǎo)下劃線)上是可用的,它不是純JSON字符串,而是一個(gè)字典。

所以上面的代碼可以被重新寫入去處理/存儲JSON:

處理存儲

 

如果我們想要一個(gè)所有用戶的名單?來這里:

名單

 

那么我們所有的tweets的列表呢? 也很簡單:

列表

 

通過這種方式,我們可以很容易地收集tweets(以及更多),并將它們存儲為原始的JSON格式,可以很方便的依據(jù)我們的存儲格式將其轉(zhuǎn)換為不同的數(shù)據(jù)模型(很多NoSQL技術(shù)提供一些批量導(dǎo)入功能)。

process_or_store()功能是您的自定義實(shí)施占位符。最簡單的方式就是你可以只打印出JSON,每行一個(gè)tweet:

打印

 

如果我們要“保持連接”,并收集所有關(guān)于特定事件將會出現(xiàn)的tweets,流API就是我們所需要的。我們需要擴(kuò)展StreamListener()來定義我們處理輸入數(shù)據(jù)的方式。一個(gè)用#python hashtag收集了所有新的tweet的例子:

案例

 

根據(jù)不同的搜索詞,我們可以在幾分鐘之內(nèi)收集到成千上萬的tweet。世界性覆蓋的現(xiàn)場活動(dòng)尤其如此(世界杯、超級杯、奧斯卡頒獎(jiǎng)典禮等),所以保持關(guān)注JSON文件,看看它增長的速度是多么的快,并考量你的測試可能需要多少tweet。以上腳本將把每個(gè)tweet保存在新的行中,所以你可以從Unix shell中使用wc-l python.json命令來了解到你收集了多少tweet。

你可以在下面的要點(diǎn)中看到Twitter的API流的一個(gè)最小工作示例:

twitter_stream_downloader.py

總結(jié)

我們已經(jīng)介紹了tweepy作為通過Python訪問Twitter數(shù)據(jù)的一個(gè)相當(dāng)簡單的工具。我們可以根據(jù)明確的“tweet”項(xiàng)目目標(biāo)收集一些不同類型的數(shù)據(jù)。

一旦我們收集了一些數(shù)據(jù),在分析應(yīng)用方面的就可以進(jìn)行展開了。在接下來的內(nèi)容中,我們將討論部分問題。

簡介:Marco Bonzanini是英國倫敦的一個(gè)數(shù)據(jù)科學(xué)家?;钴S于PyData社區(qū)的他喜歡從事文本分析和數(shù)據(jù)挖掘的應(yīng)用工作。他是“用Python掌握社會化媒體挖掘”( 2016月7月出版)的作者。

責(zé)任編輯:趙寧寧 來源: 36大數(shù)據(jù)
相關(guān)推薦

2011-10-14 14:24:26

Ruby

2021-05-10 06:48:11

Python騰訊招聘

2012-06-27 09:45:41

ibmdw

2021-05-21 09:00:00

數(shù)據(jù)挖掘數(shù)據(jù)分析工具

2016-10-19 14:58:05

大數(shù)據(jù)大數(shù)據(jù)應(yīng)用

2016-11-08 13:11:46

大數(shù)據(jù)數(shù)據(jù)挖掘

2010-07-11 18:42:17

CassandraTwitter

2012-08-30 14:33:03

Spark

2020-08-19 17:14:26

Python數(shù)據(jù)函數(shù)

2016-08-18 01:26:22

數(shù)據(jù)挖掘

2012-09-27 09:17:35

大數(shù)據(jù)云服務(wù)云計(jì)算

2009-07-10 10:19:16

微軟TwitterCRM

2013-05-21 09:47:55

2018-09-04 11:45:31

前端JavaScriptNodeJS

2018-04-23 11:11:52

數(shù)據(jù)挖掘機(jī)器學(xué)習(xí)Python

2019-11-21 14:01:37

Python數(shù)據(jù)挖掘機(jī)器學(xué)習(xí)

2019-07-24 09:21:06

大數(shù)據(jù)采集采集系統(tǒng)大數(shù)據(jù)

2009-11-20 14:48:07

2023-06-28 16:43:31

OCR數(shù)據(jù)管理

2019-09-30 09:10:11

Python編程語言數(shù)據(jù)科學(xué)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號