响应中含有webpage参数正则解析失败问题和解决办法
Lycheenut opened this issue · 2 comments
Lycheenut commented
响应中含有webpage参数的情况参见问题#74。
在该情况下,websign
、websignkey
这两个参数的正则解析失败,这是由于这两个参数的名字已变为awebsigna
、cwebsignkeyc
。
在lanzou/api/core.py的第519~520行,对正则表达式进行相应的修改即可:
web_sign = re.search(r"var awebsigna\s*=\s*'(.+?)';", first_page).group(1)
web_sign_key = re.search(r"var cwebsignkeyc\s*=\s*'(.+?)';", first_page).group(1)
此外,直接对正则解析的返回对象的域取值是不安全的,因为返回对象有可能是None。推荐对re.search
的返回值进行判空,或采用异常处理包装。
zaxtyson commented
fixed,🤧抱歉这么久才修,因为实习还有其它事情耽搁了
Lycheenut commented
辛苦了,非常感谢!