首先,我的英语不是我的母语。
问题
我尝试使用 MechanicalSoup 访问和操作表单,如文档中所述。我确实使用给定的登录表单成功登录到该页面,该登录表单是使用 chrome 内置的“调试模式”(F12)找到的。
form action="https://www.thegoodwillout.de/customer/account/loginPost/"
可以使用 chrome“调试器”在此处找到表单
这工作正常,不会产生任何错误。我试图提高我的游戏水平并转向本网站上提供的更复杂的表格。我设法将表格追踪到这个片段
form action="https://www.thegoodwillout.de/checkout/cart/add/uenc/aHR0cHM6Ly93d3cudGhlZ29vZHdpbGxvdXQuZGUvbmlrZS1haXItdm9ydGV4LXNjaHdhcnotd2Vpc3MtYW50aHJheml0LTkwMzg5Ni0wMTA_X19fU0lEPVU,/product/115178/form_key/r19gQi8K03l21bYk/"
这将导致一个
ValueError: No Closing quotation
这很奇怪,因为它不使用任何特殊字符,我仔细检查了每个引号都正确关闭
我试过什么
我试图找到一个更具体的表格,它适用于给定的鞋码,但这个表格似乎管理了网站上的所有内容。我在网上搜索了几篇文章,指出了 python 中的一个错误,我不敢相信这是真的!
带有附加错误日志的源代码
import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser()
browser.open("https://www.thegoodwillout.de/nike-air-vortex-schwarz-weiss-anthrazit-903896-010")
browser.select_form('form[action="https://www.thegoodwillout.de/checkout/cart/add/uenc/aHR0cHM6Ly93d3cudGhlZ29vZHdpbGxvdXQuZGUvbmlrZS1haXItdm9ydGV4LXNjaHdhcnotd2Vpc3MtYW50aHJheml0LTkwMzg5Ni0wMTA_X19fU0lEPVU,/product/115178/form_key/r19gQi8K03l21bYk/"]')
注意:这一切似乎都追溯到导致错误的名为 shlex 的模块
最后是错误日志
如果您能指出我正确的方向并链接一些我可能尚未完全调查的网站,那将非常有帮助。