特定时间跨度的推文 (TwitteR) [英] Tweets over a specific time span (TwitteR)
问题描述
有什么方法可以使用 twitteR 获取特定时间跨度(例如 12 月和 1 月之间)的推文,而不是简单地获取过去的 N 条推文(如推文 <- UserTimeline(user, n = 1000) ?
Is there any way to fetch tweets over a specific time span (say, between December and January) with twitteR rather than simply the past N tweets (as in with tweets <- UserTimeline(user, n = 1000) ?
或者使用 TwitteR 库是不可能的?(这意味着您必须使用 Excel 之类的工具按日期对大量推文进行子集化).
Or is that not possible using the TwitteR library? (meaning that you have to use something like Excel to subset a large number of tweets by date).
推荐答案
在您使用的包中,searchTwitter
函数接受参数 since
和 直到
,在文档中定义如下:
In the package you're using, the searchTwitter
function takes the arguments since
and until
, defined in the documentation as follows:
since 如果不是 NULL,则将推文限制为自给定日期以来的推文.日期格式为 YYYY-MM-DD
since If not NULL, restricts tweets to those since the given date. Date is to be formatted as YYYY-MM-DD
until 如果不是 NULL,则将推文限制为在给定日期之前的那些推文.日期格式为 YYYY-MM-DD
until If not NULL, restricts tweets to those up until the given date. Date is to be formatted as YYYY-MM-DD
这就是你所追求的吗?或者,如果您想坚持使用 userTimeline
函数,您可以通过操作 status
对象的 created
字段来对您想要的日期范围进行子集化你得到的(所以不需要使用 Excel).
Is that what you're after? Or if you want to stick with the userTimeline
function, you can subset the date range you want by operating on the created
field of the status
object that you get (so no need to use Excel).
EDIT 如果您使用 userTimeline
,您可以在 created
字段上进行子集化的方法如下:
EDIT Here's how you might subset on the created
field if you're using userTimeline
:
library(twitteR)
# get last 100 tweets from the NSF
tweets <- userTimeline('NSF', 100)
# inspect structure of first item in the status object (ie. list of results)
str(tweets[1])
List of 1
$ :Reference class 'status' [package "twitteR"] with 10 fields
..$ text : chr "From the field: Avoiding a Cartography Catastrophe: Study recommends new tools to improve global mapping of inf... http://t.co"| __truncated__
..$ favorited : logi FALSE
..$ replyToSN : chr(0)
..$ created : POSIXct[1:1], format: "2013-02-05 01:43:45"
..$ truncated : logi FALSE
..$ replyToSID : chr(0)
..$ id : chr "298607815617036288"
..$ replyToUID : chr(0)
..$ statusSource: chr "<a href=\"http://twitterfeed.com\" rel=\"nofollow\">twitterfeed</a>"
..$ screenName : chr "NSF"
..and 34 methods, of which 23 are possibly relevant:
.. getCreated, getFavorited, getId, getReplyToSID, getReplyToSN,
.. getReplyToUID, getScreenName, getStatusSource, getText,
.. getTruncated, initialize, setCreated, setFavorited, setId,
.. setReplyToSID, setReplyToSN, setReplyToUID, setScreenName,
.. setStatusSource, setText, setTruncated, toDataFrame, usingMethods
# convert status object to data frame for easier manipulation
tweetsdf <- twListToDF(tweets)
# subset by `created` field, eg get all tweets between 2 Feb and 5 Feb
subset(tweetsdf, created >= as.POSIXct('2013-02-02 00:00:00') & created <= as.POSIXct('2013-02-05 00:00:00'))
这是该子集操作产生的数据帧:
And here's the dataframe that results from that subset operation:
text
1 From the field: Avoiding a Cartography Catastrophe: Study recommends new tools to improve global mapping of inf... http://t.co/F6IJ05Sb
2 Video: Research Vessel Sikuliaq launched... and now being prepared for her first Arctic run in 2014, http://t.co/D7GlRnlm
3 Who's watching the power grid? http://t.co/oYsgBl63
4 Ice Melt & the Ice Age... research story on #AAAS #Science Update Daily, featured show @Science360 Radio, http://t.co/XRXSdYL1 #Arctic
5 Taking LIGO to the people http://t.co/R2KHNQTB
6 Pubs: NSF Current - January-February 2013: Available Formats: JSP: http://t.co/2NhEEj6Q... http://t.co/ZSVABpXm
7 Upcoming Due Dates: Interdisciplinary Research in Hazards and Disasters (Hazards SEES): Full Proposal Deadline D... http://t.co/IG3naAFs
8 When children learn to walk, their language improves dramatically http://t.co/FGYXSKu2
favorited replyToSN created truncated replyToSID
1 FALSE NA 2013-02-05 01:43:45 FALSE NA
2 FALSE NA 2013-02-04 19:30:40 FALSE NA
3 FALSE NA 2013-02-04 18:01:33 FALSE NA
4 FALSE NA 2013-02-04 13:55:46 FALSE NA
5 FALSE NA 2013-02-04 13:01:51 FALSE NA
6 FALSE NA 2013-02-02 17:19:30 FALSE NA
7 FALSE NA 2013-02-02 14:25:15 FALSE NA
8 FALSE NA 2013-02-02 14:02:11 FALSE NA
id replyToUID
1 298607815617036288 NA
2 298513923307630592 NA
3 298491499958644736 NA
4 298429645580288000 NA
5 298416076012785666 NA
6 297756138433290240 NA
7 297712287521841156 NA
8 297706485608218624 NA
statusSource
1 <a href="http://twitterfeed.com" rel="nofollow">twitterfeed</a>
2 <a href="http://www.hootsuite.com" rel="nofollow">HootSuite</a>
3 <a href="http://www.hootsuite.com" rel="nofollow">HootSuite</a>
4 <a href="http://www.hootsuite.com" rel="nofollow">HootSuite</a>
5 <a href="http://www.hootsuite.com" rel="nofollow">HootSuite</a>
6 <a href="http://twitterfeed.com" rel="nofollow">twitterfeed</a>
7 <a href="http://twitterfeed.com" rel="nofollow">twitterfeed</a>
8 <a href="http://www.hootsuite.com" rel="nofollow">HootSuite</a>
screenName
1 NSF
2 NSF
3 NSF
4 NSF
5 NSF
6 NSF
7 NSF
8 NSF
这篇关于特定时间跨度的推文 (TwitteR)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!