请原谅我,因为我对scraperwiki和twitter挖掘的了解有限。
我有以下代码来抓取twitter数据。但是,我想编辑代码,使其只给出在特定日期(比如说,2013年4月1日)为纽约添加地理标记的结果。你知道我该怎么做吗?
###############################################################################
# Twitter srcaper for the term 'hello'.
###############################################################################
import scraperwiki
import simplejson
# retrieve a page
base_url = 'http://search.twitter.com/search.json?q='
q = 'hello'
options = '&rpp=10&page='
page = 1
while 1:
try:
url = base_url + q + options + str(page)
html = scraperwiki.scrape(url)
#print html
soup = simplejson.loads(html)
for result in soup['results']:
data = {}
data['id'] = result['id']
data['text'] = result['text']
data['from_user'] = result['from_user']
data['created_at'] = result['created_at']
# save records to the datastore
scraperwiki.datastore.save(["id"], data)
page = page + 1
except:
print str(page) + ' pages scraped'
break发布于 2013-05-10 08:27:38
除了q之外,还可以使用查询参数geocode和until。请参阅Twitter API documentation的此页面。请注意,您不能使用搜索接口查找早于about a week的推文。
此外,使用urllib.urlencode()构造查询也更容易,例如
query_dict = {'q':'search term(s)', 'geocode':'37.781157,-122.398720,25mi', 'until':'2013-05-10'}
query = urllib.urlencode(query_dict)
response = urllib.urlopen(basic_url + query).read()更新:请查看您可以复制并根据需要进行修改的this example scraper。
https://stackoverflow.com/questions/16472463
复制相似问题