如何在R中仅抓取含经纬度(地理编码)信息的推文
解决方案
直接在search_tweets的q参数中加入Twitter官方的搜索运算符has:geo,就能在抓取阶段直接过滤出带有地理编码(经纬度)信息的推文,无需事后再做筛选。
修改后的代码示例
# 整合has:geo到搜索关键词中 db <- search_tweets( q = "xxx has:geo", n = 1000, lang = "it", geocode = lookup_coords("Italy", apikey = apiKey) ) # 依然可以用lat_lng提取经纬度,但此时返回结果基本不会有NA值 db_tweets <- lat_lng(db)
原理说明
has:geo是Twitter搜索API原生支持的运算符,专门用于筛选带有地理定位信息的推文,这类推文必然包含可提取的经纬度数据。- 将该运算符和目标关键词(
xxx)组合后,search_tweets会直接向Twitter API请求符合双重条件的推文:既匹配关键词、指定语言和地理范围,又带有地理编码信息,从源头减少无效数据抓取,提升整体效率。
内容的提问来源于stack exchange,提问作者Ramon_88
相关产品推荐
相关产品推荐

