Python机械化:UnboundLocalError:赋值之前引用了局部变量'f'

时间:2019-01-23 02:41:05

标签: python mechanize

我是python的初学者,我正在尝试使用机械化模块进行网页抓取,但是由于某些原因,即使我没有这样的变量,它也一直告诉我引用了局部变量'f'。

这是我当前的全部脚本:

import mechanize
br = mechanize.Browser()
br.open('https://hac.friscoisd.org/HomeAccess/Account/LogOn?ReturnUrl=%2fhomeaccess%2f')

如果我使用完全相同的代码并将链接替换为“ https://stackoverflow.com”,则可以正常工作,但是使用了我需要使用的链接,我收到了错误消息:

Exception has occurred: UnboundLocalError
local variable 'f' referenced before assignment
   File "C:\Users\colin\MyPythonScripts\mechanizeGPA.py", line 3, in <module>
      br.open('https://hac.friscoisd.org/HomeAccess/Account/LogOn?ReturnUrl=%2fhomeaccess%2f')

请帮助!

1 个答案:

答案 0 :(得分:0)

您可以在发送到库之前尝试取消对URL的引用

>>> import urllib
>>> url = "https://hac.friscoisd.org/HomeAccess/Account/LogOn?ReturnUrl=%2fhomeaccess%2f"
>>> url = urllib.parse.unquote('https://hac.friscoisd.org/HomeAccess/Account/LogOn?ReturnUrl=%2fhomeaccess%2f')
>>> url
'https://hac.friscoisd.org/HomeAccess/Account/LogOn?ReturnUrl=/homeaccess/'