2014-04-08 11 views
5

मैं http://insta.friendorfollow.com/ में लॉग इन करने के लिए पाइथन में एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं और उन लोगों की सूची प्राप्त कर रहा हूं जो पीछे नहीं आ रहे हैं। मैं "अनुरोध मॉड्यूल" का उपयोग करना चाहता हूं, अब तक मैंने भाग्य के साथ कई प्रयास किए हैं। मेरा कोड निम्नानुसार है:पायथन अनुरोधों का उपयोग कर Instagram पर लॉगिंग

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 

क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं? और यह करने का सही तरीका क्या होगा। एक लिपि की सराहना की जाएगी।

उत्तर

9

सभी

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

इस साझा करने के लिए धन्यवाद - मैं, मतलब बनने की कोशिश कर नहीं कर रहा हूँ बस रखने यह क्यू एंड ए। (और क्योंकि आपने इसे एक उत्तर के रूप में पोस्ट किया है, इसलिए आप उस प्रतिनिधि को प्राप्त कर सकते हैं जिसके द्वारा आप इसके लायक हैं)। – Flexo

+0

कोई कठोर भावनाओं को समझना नहीं है, हम सभी यहां ज्ञान के लिए हैं। – mahmoh

+0

WebDriverException: संदेश: ghostdriver साथ phantomjs प्रारंभ करने में अक्षम: [त्रुटि 2] – Veltro

1

मुझे सूची प्राप्त करने में सफलता मिली थी। मैंने उचित प्रमाणीकरण के साथ http://insta.friendorfollow.com/following/ पर एक GET किया और मैं प्रतिक्रिया में उपयोगकर्ताओं को देख सकता हूं।

यहाँ उन है कि मेरा पीछा नहीं कर रहे हैं में से एक का एक उदाहरण है ..

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" 

और कुछ अन्य सामान तो अपने यूआरएल के लिए /following जोड़ने की कोशिश (फ्लोयड मेरी पोस्ट में कोई दिलचस्पी नहीं हो रहा है)

+0

हैलो @ d_rez90, मैं यूआरएल कोई भाग्य के साथ http://insta.friendorfollow.com/following/ करने के लिए आप मुझे बता सकते हैं कि वास्तव में आप क्या किया बदल गया है, अब ठीक है? धन्यवाद। – mahmoh

+0

इसलिए मैंने इसे थोड़ा सा पढ़ा है, और आपको यह सुनिश्चित करना होगा कि आपके पास उचित क्लाइंट_आईडी है, आदि। मैन्युअल रूप से लॉग इन करने के बाद मैं केवल एक आरईएसटी क्लाइंट के साथ एक जीईटी कर रहा हूं, जो मुझे मेरे उत्तर में बताई गई जानकारी देता है। बाकी के माध्यम से प्रवेश करने के लिए आप https://api.instagram.com/oauth/authorize/?client_id=[CLIENT-ID]&redirect_uri=[REDIRECT-URI]&response_type=[code करने के लिए एक पोस्ट –

+0

इसके अलावा, क्या त्रुटियों कर सकते हैं] क्या आप बिल्कुल मिल रहे हैं? या आप एक अप्रत्याशित प्रतिक्रिया प्राप्त कर रहे हैं? –

संबंधित मुद्दे