【发布时间】: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