𓃗
Mike Driver
he wasn't even looking at me and he found me

tannertan36
almost home
Not today Justin

bliss lane
No title available
The Bowery Presents
Cosmic Funnies

Product Placement
noise dept.

ellievsbear
h
NASA
let's talk about Bridgerton tea, my ask is open
No title available
Xuebing Du
★

roma★
seen from Iceland
seen from Brazil

seen from United States

seen from Poland
seen from Saudi Arabia
seen from Thailand

seen from Türkiye

seen from Chile
seen from United States
seen from Uzbekistan
seen from Ecuador

seen from United States
seen from United States

seen from United States

seen from South Africa
seen from North Macedonia
seen from United Arab Emirates
seen from Japan
seen from United States

seen from Malaysia
@nickiminaj-instagram
package ti;
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.nio.charset.Charset; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern;
import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document;
import com.google.common.base.Joiner; import com.google.common.base.Splitter; import com.google.common.collect.Collections2; import com.google.common.collect.Lists;
public class InstagramReplicator { public static InstagramReplicator newInstance(String instagramUser, String tumblrUser, String tagName) throws IOException { return new InstagramReplicator(instagramUser, tumblrUser, tagName); } public void doUpdate() throws IOException { System.out.println(“Checking for updates: instagramUser=” + instagramUser); for(String instagramUrl : loadInstagramUrls()) { if(!currentImages.contains(instagramUrl)) { submitPostToTumblr ( loadInstagramPost(instagramUrl) ); currentImages.add(instagramUrl); if(currentImages.size() > 100) { currentImages.remove(currentImages.get(0)); } } } } private List<String> loadInstagramUrls() throws IOException { List<String> instagramUrls = findMatches ( Jsoup.connect(“http://instagram.com/” + instagramUser).get().outerHtml(), ""link":"(http:\\/\\/instagram\.com\\/p\\/[^\\]*\\/)"“, true ); Collections.reverse(instagramUrls); //System.out.println(instagramUser + ” - “ + instagramUrls); return instagramUrls; } private Post loadInstagramPost(String postUrl) throws IOException { System.out.println("Loading post: postUrl=” + postUrl); String docText = Jsoup.connect(postUrl).get().outerHtml(); //System.out.println(“doctext=” + docText); String caption = “<p>” + findMatch(docText, “"caption":"(.*?[^\\])"”, false) + “</p>”; String tagRegEx = “#([A-Za-z0-9_]+)”; String userRegEx = “@([A-Za-z0-9_]+)”; List<String> tags = Lists.newArrayList(); tags.addAll(findMatches(caption, tagRegEx, false)); tags.addAll(findMatches(caption, userRegEx, false)); //caption = caption.replaceAll(tagRegEx, “<a href=\\"http://www.gramfeed.com/instagram/tags#$1\\">$0</a>”); caption = caption.replaceAll(userRegEx, “<a href=\\"http://instagram.com/$1\\">$0</a>”); if(docText.contains(“"is_video":true”)) { caption += “<p><a href=\"” + postUrl + “\">Watch Video</a></p>”; } return new Post ( postUrl, findMatch(docText, “"display_src":"([^"]*)"”, true), //imageUrl caption, Joiner.on(“,”).join(tags) ); } private void submitPostToTumblr(Post post) throws IOException { System.out.println(“Submitting post: post=” + post); try { HttpURLConnection connection = (HttpURLConnection) new URL(“http://www.tumblr.com/svc/post/update”).openConnection();
connection.setDoOutput(true); connection.setDoInput(true); connection.setInstanceFollowRedirects(false); connection.setRequestMethod(“POST”); connection.setRequestProperty(“Cookie”, tumblrCookie); connection.setRequestProperty(“X-tumblr-puppies”, getSecureFormKey()); connection.setRequestProperty(“X-tumblr-form-key”,“OdhVH6QQTBzl9IZZDViXwyj5vOU”); connection.setRequestProperty(“Origin”,“http://www.tumblr.com”); connection.setRequestProperty(“Accept-Encoding”,“gzip,deflate,sdch”); connection.setRequestProperty(“Host”,“www.tumblr.com”); connection.setRequestProperty(“Accept-Language”,“en-US,en;q=0.8”); connection.setRequestProperty(“User-Agent”,“Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36”); connection.setRequestProperty(“Content-Type”,“application/json”); connection.setRequestProperty(“Accept”,“application/json, text/javascript, */*; q=0.01”); connection.setRequestProperty(“Referer”,“http://www.tumblr.com/new/photo”); connection.setRequestProperty(“X-Requested-With”,“XMLHttpRequest”); connection.setRequestProperty(“Connection”,“keep-alive”); connection.setRequestProperty(“DNT”,“1”); connection.setUseCaches(false);
OutputStream output = connection.getOutputStream(); output.write ( (“{"form_key":"OdhVH6QQTBzl9IZZDViXwyj5vOU","context_id":"","context_page":"dashboard",” + “"editor_type":"rich","is_rich_text[one]":"0","is_rich_text[two]":"1","is_rich_text[three]":"0",” + “"channel_id":"” + tumblrUser + "","post[slug]":"",“ + ”"post[source_url]":"“ + post.postUrl + ”","post[date]":"","post[three]":"“ + post.postUrl + ”","MAX_FILE_SIZE":"10485760","post[type]":"photo",“ + ”"post[two]":"“ + post.caption + ”","post[tags]":"“ + Joiner.on(”,“).join(userTags, post.tags, instagramUser, "instagram”).replace(’_’, ’ ’) + "","post[publish_on]":"","post[state]":"0 3","post[photoset_layout]":"1","post[photoset_order]":"o1",“ + ”"images[o1]":"“ + post.imageUrl + ”","photo_src[]":"“ + post.imageUrl + ”"}“).getBytes(Charset.forName("UTF-8”)) ); output.close();
InputStream input = connection.getInputStream(); while(input.read() != -1) {}
System.out.println(“Post submission complete, httpStatusCode=” + connection.getResponseCode());
input.close(); } catch (IOException e) { if(consecutiveTumblrErrors++ > 10) { System.err.println(“FATAL: Too many consecutive tumblr failures, shutting down”); System.exit(1); } throw e; } consecutiveTumblrErrors = 0; } private String getSecureFormKey() throws IOException { Connection connection = Jsoup.connect(“http://www.tumblr.com/svc/secure_form_key”) .header(“Cookie”, tumblrCookie) .header(“X-tumblr-form-key”,“OdhVH6QQTBzl9IZZDViXwyj5vOU”) .header(“Origin”,“http://www.tumblr.com”) .header(“Accept-Encoding”,“gzip,deflate,sdch”) .header(“Host”,“www.tumblr.com”) .header(“Accept-Language”,“en-US,en;q=0.8”) .header(“User-Agent”,“Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36”) .header(“Content-Type”,“application/json”) .header(“Accept”,“application/json, text/javascript, */*; q=0.01”) .header(“Referer”,“http://www.tumblr.com/new/photo”) .header(“X-Requested-With”,“XMLHttpRequest”) .header(“Connection”,“keep-alive”) .header(“DNT”,“1”) .header(“Content-Length”, “0”); connection.post(); String secureFormKey = connection.response().header(“X-tumblr-secure-form-key”); System.out.println(“secureFormKey=” + secureFormKey);
return secureFormKey; }
private String findMatch(String string, String regex, boolean isUrl) { List<String> matches = findMatches(string, regex, isUrl); if(matches.isEmpty()) { return “”; } return matches.get(0); } private List<String> findMatches(String string, String regex, boolean isUrl) { Matcher matcher = Pattern .compile(regex) .matcher(string);
List<String> matches = Lists.newArrayList();
while(matcher.find()) { matches.add ( matcher .group(1) .replace ( (isUrl ? “\” : “”), “” ) ); }
return matches; } //nested classes private class Post { public Post(String postUrl, String imageUrl, String caption, String tags) { this.postUrl = postUrl; this.imageUrl = imageUrl; this.caption = caption; this.tags = tags; } @Override public String toString() { return “Post [postUrl=” + postUrl + “, imageUrl=” + imageUrl + “, caption=” + caption + “, tags=” + tags + “]”; }
private final String postUrl; private final String imageUrl; private final String caption; private final String tags; } //constructors
private InstagramReplicator(String instagramUser, String tumblrUser, String tagName) throws IOException { this.instagramUser = instagramUser; this.tumblrUser = tumblrUser; this.userTags = tagName; currentImages = loadInstagramUrls();
/* currentImages.removeAll ( Splitter .on(’,’) .trimResults() .omitEmptyStrings() .splitToList ( ) );*/
}
//attributes
private final String instagramUser; private final String tumblrUser; private final String userTags; private final List<String> currentImages;
//static
public static void main(String[] args) throws IOException { Executors.newScheduledThreadPool(0).scheduleWithFixedDelay ( new Runnable() { List<InstagramReplicator> replicators = Lists.newArrayList ( InstagramReplicator.newInstance(“willaaaahh”, “willaaaahhh”, “willa holland”), InstagramReplicator.newInstance(“emmaroberts”, “emmaroberts9”, “emma roberts”), InstagramReplicator.newInstance(“tfarm7”, “tfarm11”, “taissa farmiga”), InstagramReplicator.newInstance(“taylorswift”, “taylorswift26”, “taylor swift,taylorswift13”), InstagramReplicator.newInstance(“yelyahwilliams”, “yelyahwilliams-instagram”, “hayley williams”),
InstagramReplicator.newInstance(“MileyCyrus”, “mileycyrus-instagram”, “miley cyrus”), //InstagramReplicator.newInstance(“badgalriri”, “badgalriri-instagram”, “rihanna”), InstagramReplicator.newInstance(“beyonce”, “beyonce-instagram”, “beyonce knowles”), InstagramReplicator.newInstance(“caradelevingne”, “caradelevingne-instagram”, “cara delevingne”), InstagramReplicator.newInstance(“nickiminaj”, “nickiminaj-instagram”, “nicki minaj”), InstagramReplicator.newInstance(“emmyrossum”, “emmyrossum-instagram”, “emmy rossum”), InstagramReplicator.newInstance(“tigersjaw”, “tigersjaw-instagram”, “tigers jaw,brianna collins”), InstagramReplicator.newInstance(“tayjardine”, “tayjardine-instagram”, “tay jardine,taylor jardine,we are the in crowd”), InstagramReplicator.newInstance(“lordemusic”, “lordemusic-instagram”, “lorde”) );
Iterator<InstagramReplicator> replicatorIterator = replicators.iterator();
@Override public void run() { if(!replicatorIterator.hasNext()) { replicatorIterator = replicators.iterator(); }
InstagramReplicator replicator = replicatorIterator.next();
try { replicator.doUpdate(); } catch (Throwable e) { e.printStackTrace(); } } }, 0, 5, TimeUnit.SECONDS ); } private static int consecutiveTumblrErrors = 0; private static final String tumblrCookie = “”; }
Eternity - SoundCloud
Listen to Eternity by Adam on #SoundCloud
God Freestyle
Album · 2021 · 3 Songs
And now a word from @kyliejenner & 2 other bad btchs at the Mike Epps show @eppsie 🤣😜
Young Money til da death of me #HappyFathersDay fellas 🎀
A btch out in Atlanta eatin dem peaches!!!!🍑 Me & La Flare performing #MakeLove #BadBtchsONLY 👅🎀
A T L A N T A
Queen of carrying cups
Easy breezy beautiful thugger girls