Python - 使用用户名/密码的未命名输入标签登录到网页抓取

标签 python html web-scraping tags mechanize

我们编写了一个代码来在受用户名/密码保护的网站上进行网络抓取。问题是控制用户名/密码的标签没有名称也没有控制权。有可能的解决方法吗?
这是密码输入的 HTML 代码(用户名的布局相同):

   input class="Bom_loging_input" id="smspassword" type="password" placeholder="请输入密码">
import mechanize

br = mechanize.Browser()

br.set_handle_robots(False)
br.addheaders = [('User-agent', 'Firefox')]
br.open('https://www.bom.ai/yunext/STM8S903K3T6C.html')

br.select_form('smsloginform')

password_field = br.form.find_control(id="companyName")

print(password_field)
#password_field.value = "CompanyName"

br['companyName'] = ''
br['accountName'] = ''
br['smspassword'] = '' 
sub = br.submit()
print(sub.geturl())

最佳答案

从未使用过 Mechanize,但您可能需要模拟一个名称为 id 的帖子。您可以检查在浏览器中打开网站,打开网络选项卡并提交登录请求。您将看到浏览器完成了哪种类型的请求并在您这边复制。

关于Python - 使用用户名/密码的未命名输入标签登录到网页抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62932012/

相关文章:

python - 创建具有多个层次结构的嵌套字典,以 '.' 分隔

python - 根据其他列和字典创建一个新列

javascript - 是否可以在 MSBOT 卡中呈现 JavaScript 脚本?

javascript - 如何在 html5 和 javascript 中编辑像素并删除 Canvas 图像中的白色背景

python - 当新数据接收到套接字时 Windows 断开连接

Python 文件路径名

html - 如何仅使用 CSS 定位我的元素?

登录后 Ruby Mechanize 和更改 URL

Python、BS 和 Selenium

python - 构建WebScraper时出错: TypeError: 'NoneType' object has no attribute '__getitem__'