Exemple #1
0
def create_map():
	url = request.args.get('url', '', type=str) # Get url to scrape for reblogging information
	url = url if len(url) > 0 else 'http://ioncewishediwasawitch.tumblr.com/post/15710423803' # A default url for testing purposes
	
	# Scrape url for reblogging information
	a = PostScraper(url)
	if a.has_next():
		(list_of_relations, num_reblogs, num_likes, next_url_to_scrape, source) = a.next()
		
	# Return reblogging information in json format
	list_of_relations = [{'poster': _blgr2dict(poster), 'reblogger': _blgr2dict(reblogger)} for poster, reblogger in list_of_relations]
	return jsonify(	list_of_relations = list_of_relations, 
					num_reblogs = num_reblogs, 
					num_likes = num_likes,
					next_url_to_scrape = next_url_to_scrape,
					source = _blgr2dict(source))
Exemple #2
0
 except:
     #url = "http://ioncewishediwasawitch.tumblr.com/post/15710423803" #1 page of notes
     #url = "http://chanaaaa.tumblr.com/post/5326278147" #2,500 notes
     #url = "http://beepbeepfagg0tt.tumblr.com/post/15727549088" #171 notes
     url = "http://beepbeepfagg0tt.tumblr.com/post/15553114034" #151 notes
     #url = "http://beepbeepfagg0tt.tumblr.com/post/15478680896"
 
 a = PostScraper(url)
 
 posters = {}
 num_likes = 0
 num_reblogs = 0    
 post_source = None
 
 # Iterate through all notes and build reblog map
 while a.has_next():
     (new_relations, likes, reblogs, next_url, ret_source) = a.next()
     
     num_likes += likes
     num_reblogs += reblogs
     post_source = post_source or ret_source
     print "post-source: ", post_source
     
     for poster, reblogger in new_relations:
         posters[poster.name] = posters.get( poster.name, poster)
         posters[poster.name].addReblogger(reblogger)
         
 
 from operator import itemgetter
         
 print "\n\nReblog Map:", printReblogMap(posters)