【问题标题】:Instagram Web scraping followersInstagram 网络抓取追随者
【发布时间】:2017-10-09 15:35:36
【问题描述】:

我正在尝试在 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")       

如前所述,我没有获得页面的关注者。我怎么能这样做?

干杯, 安迪

【问题讨论】:

  • 我尝试在 Instagram 上搜索“wernergruener”,但结果为空。是这个名字吗?

标签: python web-scraping instagram


【解决方案1】:

使用 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 应该让您更轻松地访问所需的信息。

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 2018-07-12
    • 2018-08-20
    • 1970-01-01
    • 2017-10-11
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    相关资源
    最近更新 更多