首页 > 解决方案 > PYTHON 3 - 如何抓取受密码保护的网站?

问题描述

我正在尝试访问我工作中的网站,但它受用户名/密码保护。用户/密码弹出窗口也如图所示。登录图片 我附上我的代码以查看网站。我可以看到 HTML 代码,但是出现错误“需要 401 授权”。你能帮忙吗?

import requests
from bs4 import BeautifulSoup as bs

r = requests.get("http://10.75.19.101/mfgindex", auth=('root', 'password'))

# Convert to beautiful soup object

soup = bs(r.content, features="html.parser")

# print
print(soup.prettify())

标签: pythonweb-scraping

解决方案


通常,如果站点受密码保护,您显然无法绕过登录过程。这迫使您利用 RPA 流程,您的代码控制 Web 浏览器并利用真实登录和密码执行登录操作,然后自动浏览您需要的页面并使用 BeautifulSoup 从 HTML 中提取您需要的元素。

为此,我建议尝试 Selenium ( https://www.selenium.dev/ )

一个简短的教程在这里:

https://medium.com/ymedialabs-innovation/web-scraping-using-beautiful-soup-and-selenium-for-dynamic-page-2f8ad15efe25

前段时间我试过它来解决类似的任务,效果很好


推荐阅读