Logging to Instagram using Python requests

2020-05-21 06:31发布

I am trying to write a script in python, to log into http://insta.friendorfollow.com/ and get the list of the people that are not following back. I want to use "requests module", so far I made numerous attempts with no luck. My code is as follow :

import requests, re

f = open('file', 'w')
r = requests.get('http://insta.friendorfollow.com/')
next_url = re.findall(ur'<a href=\"(.*)\" type=\"submit\"', r.content)

r = requests.get(next_url[0])

action = re.findall(ur'action=\"(.*)\"', r.content)
csrfmiddlewaretoken = re.findall(ur'name=\"csrfmiddlewaretoken\" value=\"(.*)\"', r.content)

print action
print csrfmiddlewaretoken

payload = {
'csrfmiddlewaretoken': csrfmiddlewaretoken[0],
'username': 'SOMEUSER',
'password':'SOMEPASS'
}

g = requests.post("https://instagram.com/"+action[0],
  data=payload, allow_redirects=True)


print >> f, g.text

Can some one tell me what I am doing wrong? and what would it be the right way to do it. A script would be much appreciated.

2条回答
我欲成王,谁敢阻挡
2楼-- · 2020-05-21 07:01

I had success in getting the list. I did a GET to http://insta.friendorfollow.com/following/ with appropriate authentication and I can see the users in the Response.

Here's an example of one of the users that are not following me (Floyd seems to not be interested in my posts)

style="margin:5px" alt="floydmayweather" title="floydmayweather" src="http://images.ak.instagram.com/profiles/profile_16264572_75sq_1394805311.jpg" data-id="16264572" data-action="unfollow"

and some other stuff.. So try adding /following to your URL

查看更多
仙女界的扛把子
3楼-- · 2020-05-21 07:10

All is fine now,

#!/usr/bin/env python

username = "username"
password = "password"

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import re

driver = webdriver.PhantomJS()
driver.get("http://insta.friendorfollow.com")
driver.find_elements_by_tag_name("a")[1].click()

print "Perimene file....".upper()
driver.find_element_by_name('username').send_keys(username)
driver.find_element_by_name('password').send_keys(password)
driver.find_element_by_class_name("button-green").click()

try:
  driver.find_elements_by_name("allow")[1].click()
except:
  pass

f = open(username+".txt", 'w')
malakes = re.findall(ur'data-id=\"([0-9]*)\"', driver.page_source)[::-1]
for malakas in malakes:
  print >> f, malakas

f.close()
driver.quit()
查看更多
登录 后发表回答