我正在使用请求模块登录到Instagram,并在登录后检索用户信息

布鲁尔博士

编辑:代码现在可以正常工作,问题是与非ASCII字符'\ xe2'有关,通过声明解决:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

我向PEP-263寻求帮助。


我使用以下代码使用请求登录instagram:

import bs4
from bs4 import BeautifulSoup
import json
import re
import requests

BASE_URL = 'https://www.instagram.com/accounts/login/'
LOGIN_URL = BASE_URL + 'ajax/'

headers_list = "Mozilla/5.0 (Windows NT 5.1; rv:41.0) Gecko/20100101"
" Firefox/41.0"


USERNAME = 'myUser'
PASSWD = 'myPassword'
USER_AGENT = headers_list

session = requests.Session()
session.headers = {'user-agent': USER_AGENT}
session.headers.update({'Referer': BASE_URL})
req = session.get(BASE_URL)
soup = BeautifulSoup(req.content, 'html.parser')
body = soup.find('body')

pattern = re.compile('window._sharedData')
script = body.find("script", text=pattern)

script = script.get_text().replace('window._sharedData = ', '')[:-1]
data = json.loads(script)

csrf = data['config'].get('csrf_token')
login_data = {'username': USERNAME, 'password': PASSWD}
session.headers.update({'X-CSRFToken': csrf})
login = session.post(LOGIN_URL, data=login_data, allow_redirects=True)
print(login.content)

# b'{"authenticated": true, "user": true, "userId": "*******", "oneTapPrompt": false, "status": "ok"}'

但是,登录后,我想提取用户信息,例如n关注者和帖子的数量。我有这段代码可以提供特定用户的信息。

html = requests.get('https://www.instagram.com/USER')
soup = BeautifulSoup(html.text, 'lxml')
item = soup.select_one("meta[property='og:description']")
name = item.find_previous_sibling().get("content").split("•")[0]
followers = item.get("content").split(",")[0]
following = item.get("content").split(",")[1].strip()
print(f'{name}\n{followers}\n{following}')

但是我想要显示的是已记录的用户信息,而不是特定的帐户。我将如何处理?

等值

登录后,您只需访问自己的页面即可。

这种修改应该可以解决问题:

html = requests.get('https://www.instagram.com/'+USERNAME)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

登录到OneDrive而不输入用户信息

来自分类Dev

登录后显示用户信息

来自分类Dev

为什么通过我自己的视图登录后,用户登录到管理站点但未登录我的视图?Django的

来自分类Dev

登录后,向我显示哪个城市和国家/地区的用户正在使用vb.net

来自分类Dev

使用请求登录到有问题的站点

来自分类Dev

用户nobody登录到“ ???”

来自分类Dev

使用Django登录后获取用户信息

来自分类Dev

使用chroot登录到用户的会话

来自分类Dev

使用请求登录到具有javascript登录表单的网站

来自分类Dev

尝试在登录后显示用户信息

来自分类Dev

12.10升级后,如何使用启用了指纹功能的用户的密码登录到lightdm?

来自分类Dev

登录到JavaScript登录表单请求

来自分类Dev

我的用户登录后如何使用提供商通知?

来自分类Dev

无法登录到我刚刚使用useradd创建的用户

来自分类Dev

无法登录到根用户

来自分类Dev

我将如何使用BeautifulSoup4和Requests登录到Instagram,以及如何自行确定它?

来自分类Dev

Expect脚本:创建方法以使用ssh登录到远程服务器并在方法返回后发送命令

来自分类Dev

如何使用Backand检索当前登录的用户

来自分类Dev

使用Python的“请求”模块登录ASP网站

来自分类Dev

使用 Python 请求模块登录 Robinhood

来自分类Dev

通过Paypal Javascript登录按钮检索用户信息

来自分类Dev

我正在尝试使用bash脚本自动登录npm,但我不知道在请求时ti如何输入用户名和密码。是否可以?

来自分类Dev

OAuth 2.0成功登录后,如何将用户登录到Google网页?

来自分类Dev

用户登录后如何在React中保存用户信息

来自分类Dev

使用非root用户登录到AWS实例

来自分类Dev

使用帐户,用户名,密码登录到AWS Console

来自分类Dev

使用管理员用户登录到SAP失败

来自分类Dev

仅使用脚本内的密码登录到root用户

来自分类Dev

使用 asyncio 将多个用户登录到服务器

Related 相关文章

  1. 1

    登录到OneDrive而不输入用户信息

  2. 2

    登录后显示用户信息

  3. 3

    为什么通过我自己的视图登录后,用户登录到管理站点但未登录我的视图?Django的

  4. 4

    登录后,向我显示哪个城市和国家/地区的用户正在使用vb.net

  5. 5

    使用请求登录到有问题的站点

  6. 6

    用户nobody登录到“ ???”

  7. 7

    使用Django登录后获取用户信息

  8. 8

    使用chroot登录到用户的会话

  9. 9

    使用请求登录到具有javascript登录表单的网站

  10. 10

    尝试在登录后显示用户信息

  11. 11

    12.10升级后,如何使用启用了指纹功能的用户的密码登录到lightdm?

  12. 12

    登录到JavaScript登录表单请求

  13. 13

    我的用户登录后如何使用提供商通知?

  14. 14

    无法登录到我刚刚使用useradd创建的用户

  15. 15

    无法登录到根用户

  16. 16

    我将如何使用BeautifulSoup4和Requests登录到Instagram,以及如何自行确定它?

  17. 17

    Expect脚本:创建方法以使用ssh登录到远程服务器并在方法返回后发送命令

  18. 18

    如何使用Backand检索当前登录的用户

  19. 19

    使用Python的“请求”模块登录ASP网站

  20. 20

    使用 Python 请求模块登录 Robinhood

  21. 21

    通过Paypal Javascript登录按钮检索用户信息

  22. 22

    我正在尝试使用bash脚本自动登录npm,但我不知道在请求时ti如何输入用户名和密码。是否可以?

  23. 23

    OAuth 2.0成功登录后,如何将用户登录到Google网页?

  24. 24

    用户登录后如何在React中保存用户信息

  25. 25

    使用非root用户登录到AWS实例

  26. 26

    使用帐户,用户名,密码登录到AWS Console

  27. 27

    使用管理员用户登录到SAP失败

  28. 28

    仅使用脚本内的密码登录到root用户

  29. 29

    使用 asyncio 将多个用户登录到服务器

热门标签

归档