我想在我的Twitter数据集中识别包含URL的推文。例如,使用“http://”的符号。
如何在R中进行?例如,推文文本是
"@RainxDog @twitpic Please HELP #OccupyWallStreet and RT this video: http://t.co/vjwNR7TC"
"@degamuna Please HELP #OccupyWallStreet and RT this video: http://t.co/vjwNR7TC"
答案 0 :(得分:3)
您可以使用grep
if(length(grep("http://",data))>0){
data[grep("http://",data)]
}
答案 1 :(得分:2)
你的相对简单的问题,隐藏了一些实际上非常棘手的问题。在您的两个示例中,网址为:
http://t.cp/
- bit.ly
链接怎么样?那么https
呢?构建一组示例推文并确保正则表达式有效。
基本上,你需要一个正则表达式。 Stackoverflow的问题是:
答案 2 :(得分:0)
您可以使用Twitter Entities获取推文的所有网址。进行REST调用时,请确保包括
&include_entities=true
这将为您提供JSON或XML中称为实体的部分。将有一个名为urls的子节点。
以下是将要返回的内容的示例。
"text": "Twitter for Mac is now easier and faster, and you can open multiple windows at once http://t.co/0JG5Mcq",
"entities": {
"media": [
],
"urls": [
{
"url": "http://t.co/0JG5Mcq",
"display_url": "blog.twitter.com/2011/05/twitte…",
"expanded_url": "http://blog.twitter.com/2011/05/twitter-for-mac-update.html",
"indices": [
84,
103
]
}
],
"user_mentions": [
],
"hashtags": [
]
}
所以,寻找实体 - >请查看推文是否包含指向外部网站的链接。