Instagram网页抓取粉丝

时间:2017-10-09 15:35:36

标签: python web-scraping instagram

我试图在Instagram中提取随机网页的粉丝。我尝试将python与Beautiful Soup结合使用。

尽管如此,我还没有在我可以访问的网页上收到任何信息

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")       

如上所述,我没有得到该页面的粉丝。我怎么能这样做?

干杯, 岸堤

1 个答案:

答案 0 :(得分:0)

使用API​​ / JSON:

我对Instagram API并不熟悉,但它看起来并不像是会返回有关某个人关注者的详细信息,只会返回关注者的数量。

您应该可以使用info["user"]["followed_by"]["count"]获取该信息。

使用原始页面/美丽的汤:

假设非API页面显示了您想要关于某人的关注者的信息,您将需要下载原始HTML(而不是JSON)并使用Beautiful Soup解析它。

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")    

Beautiful Soup有一些我读过的最直观的文档。我从那里开始: https://www.crummy.com/software/BeautifulSoup/bs4/doc/

使用API​​ / python-instagram:

其他人已经为你做了很多繁重的工作。我认为python-instagram应该可以让您更轻松地访问所需的信息。