2017-10-09 4 views
-2

J'essaie d'extraire les adeptes d'une page Web aléatoire dans Instagram. J'ai essayé d'utiliser python en combinaison avec Beautiful Soup.Instagram Web adeptes de grattage

Néanmoins je n'ai pas reçu d'informations à la page Web où je pouvais accéder

def get_user_info(user_name): 
    url = "https://www.instagram.com/" + user_name + "/?__a=1" 
    try: 
     r = requests.get(url) 
    except requests.exceptions.ConnectionError: 
     print ('Seems like dns lookup failed..') 
     time.sleep(60) 
     return None 
    if r.status_code != 200: 
     print ('User: ' + user_name + ' status code: ' + str(r.status_code)) 
     print (r) 
     return None 
    info = json.loads(r.text) 
    return info['user'] 

get_user_info("wernergruener")  

Comme mentionné, je ne reçois pas les adeptes de la page. Comment pourrais-je faire ça?

Cheers, Andi

+0

J'ai essayé de chercher instagram pour 'wernergruener' et je suis vide. Est-ce le nom exact? –

Répondre

0

Avec API/JSON:

Je ne suis pas familier avec l'API Instagram, mais il ne ressemble pas à elle renvoie des informations détaillées sur les adeptes d'une personne, juste le nombre d'adeptes.

Vous devriez être en mesure d'obtenir cette information en utilisant info["user"]["followed_by"]["count"].

Avec la page raw/Beautiful Soup:

En supposant que la page non-API révèle les informations que vous souhaitez sur les adeptes d'une personne, vous voulez télécharger le HTML brut (au lieu de JSON) et l'analyser en utilisant une belle soupe. Belle soupe a une partie de la documentation la plus intuitive que j'ai jamais lu.

def get_user_info(user_name): 
    url = "https://www.instagram.com/" + user_name 
    try: 
     r = requests.get(url) 
    except requests.exceptions.ConnectionError: 
     print ('Seems like dns lookup failed..') 
     time.sleep(60) 
     return None 
    if r.status_code != 200: 
     print ('User: ' + user_name + ' status code: ' + str(r.status_code)) 
     print (r) 
     return None 
    soup = BeautifulSoup(r.text, 'html.parser') 
    # find things using Beautiful Soup 

get_user_info("wernergruener")  

Je commence là: https://www.crummy.com/software/BeautifulSoup/bs4/doc/

Avec API/python-instagram:

D'autres personnes ont déjà fait beaucoup de levage lourd pour vous. Je pense que python-instagram devrait vous offrir un accès plus facile à l'information que vous voulez.