使用Python请求登录Instagram

使用Python请求登录Instagram,python,instagram,Python,Instagram,我正在尝试用python编写一个脚本,以便登录到http://insta.friendorfollow.com/并获取未跟进的人员列表。我想使用“请求模块”,到目前为止,我做了多次尝试,但都没有成功。我的代码如下: import requests, re f = open('file', 'w') r = requests.get('http://insta.friendorfollow.com/') next_url = re.findall(ur'<a href=\"(.*)\" t

我正在尝试用python编写一个脚本,以便登录到
http://insta.friendorfollow.com/
并获取未跟进的人员列表。我想使用“请求模块”,到目前为止,我做了多次尝试,但都没有成功。我的代码如下:

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
导入请求,重新
f=打开('文件','w')
r=请求。获取('http://insta.friendorfollow.com/')

接下来,我成功地获得了列表。我通过适当的身份验证进行了访问,并且可以在响应中看到用户

下面是一个不关注我的用户的例子(Floyd似乎对我的帖子不感兴趣)

还有一些其他的东西。所以试着把
/下面的
添加到你的URL中

现在一切都好了

#!/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()

您好@d_rez90,我把url改成了不走运。您能告诉我您到底做了什么吗?谢谢。所以我读了一些关于它的内容,您必须确保您有一个正确的客户端id,等等。我只是在手动登录后与REST客户端进行一次GET,这给了我答案中所述的信息。要通过REST登录,您可以向Als发送一篇帖子o、 你到底得到了什么错误?或者你得到了一个意外的响应?你好@d_rez90,谢谢你的回复,我没有收到任何错误,实际上它返回r.status_code==200,问题是它没有重定向,所以我仍然在登录页面上,你能试试我的代码看看输出吗?谢谢分享-我没有尽量刻薄,只是保持问答(因为你将此作为一个答案发布,所以你从中得到了你应得的代表)。理解没有什么不快的感觉,我们都支持这里的知识。WebDriverException:消息:无法使用ghostdriver启动phantomjs:[错误2]
#!/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()