我们编写了一个代码来在受用户名/密码保护的网站上进行网络抓取。问题是控制用户名/密码的标签没有名称也没有控制权。有可能的解决方法吗?
这是密码输入的 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/