python - 无法使用 Python 请求会话模块登录网站
问题描述
我刚刚开始进行一些网络抓取。不幸的是,我正在尝试使用以下代码访问http://.classic.comunio.de
self.session = requests.session()
payload = {'login': self.username ,
'pass': self.password,
'action': 'login'}
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain",
"User-Agent": user_agent}
req = self.session.post('http://'+self.domain+'/login.phtml',headers=headers,data=payload).content
我已经检查了http://classic.comunio.de关于用户名、密码和操作的名称。那应该是对的。用户名和密码也正确。
但是,当我尝试登录时,我没有转发到下一页,或者我无法获取我的用户配置文件的内容,这在登录后应该是可能的。
感谢所有帮助,谢谢!
解决方案
尝试使用 header ,该页面可能会发现您的脚本作为机器人并阻止它。以下代码对我来说很好:
import requests
from bs4 import BeautifulSoup
url='https://classic.comunio.de/login.phtml'
header={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
payload={'login':'yourname','pass':'yourpass'}
s=requests.Session()
page = s.post(url,data=payload,headers=header)
soup = BeautifulSoup(page.content,'html.parser')
result = soup.find('div',attrs={'id':"manager"}).get_text()
print(result)
推荐阅读
- iis - 无法使用 URL 重写使用虚拟 IP 在端口 81 上打开站点
- javascript - 点击链接计算 - 乘法和除法问题
- c# - C#如何打印/显示数组中所有数字与平均值之间的“差异”
- javascript - 我们可以将编辑文本放入 react-moveable 吗?(拖动和编辑两者)
- python - 如何在某个单元格值之后访问熊猫数据框中的下一行
- reactjs - 如何修复错误反应钩子无法在使用打字稿的回调函数中调用并做出反应?
- php - 为什么 POST 不适用于 htaccess 中的某些重写条件?
- node.js - 无法使用 NodeJS 中猫鼬的 Item.removeOne() 或 Item.findByIdAndRemove() 方法从待办事项列表中删除项目
- python - 更新 folium 改变了弹出框的宽度
- c# - 如何为 ServiceBusTrigger (QUEUE,TOPIC) 实现单元测试?