【问题标题】:POST Statement Python RequestsPOST 语句 Python 请求
【发布时间】:2020-04-14 18:51:23
【问题描述】:

由于错误 403,我遇到了连接问题,这就是网站认为我是机器人的原因。我试图在 POST 语句中包含我的标题,但我做错了。提前感谢您的帮助:)

代码:

from requests import HTTPError
import requests
from bs4 import BeautifulSoup as bs

with requests.Session() as s:
   user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
   headers = {'User-Agent': user_agent}
   site = s.get("https://www.instagram.com")
   try:
      site = s.get("https://www.instagram.com", headers=headers)
      site.raise_for_status()
   except HTTPError as http_err:
      print(f'HTTP error occurred: {http_err}')  
   except Exception as err:
      print(f'Other error occurred: {err}')  
   else:
      print('Successfully opened Webpage!')

   bs_content = bs(site.content, "html.parser")
   login_data = {"username":"test","password":"test"}

   try:
      response = s.post("https://www.instagram.com",login_data, None, headers)
      response.raise_for_status()
   except HTTPError as http_err:
      print(f'HTTP error occurred: {http_err}')  
   except Exception as err:
      print(f'Other error occurred: {err}')  
   else:
      print('Successfully logged in!')

   home_page = s.get("https://www.instagram.com/instagram/")

【问题讨论】:

  • 我敢打赌,登录页面会运行一个或多个验证码,而您没有通过它。他们不希望脚本使用他们的前端 API,并积极阻止它。

标签: python html python-3.x python-requests http-status-code-403


【解决方案1】:

您应该尝试使用 Instagram API,因为常规 UI 通常具有阻止机器人的功能。

https://www.instagram.com/developer/endpoints/

【讨论】:

  • OK 会做 :) 感谢 Tipp
猜你喜欢
  • 1970-01-01
  • 2018-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多