我是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')
请帮助!
答案 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/'