正则表达式获取 xsrf token

最近想用爬虫爬一下知乎的数据,须要获取网页里的防止 xsrf 的标记。session

(?<=pattern)

“(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”,但不能匹配“3.1Windows”中的“Windows”。url

即略去括号中的部分,只提取括号后的部分。3d

(?=pattern)

“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。code

即略去括号中的部分,只提取括号前的部分。token

实现

s = requests.session()

    def get_xsrf(url=None):
        r = s.get(url, headers=headers_base)
        xsrf = re.search('(?<=name="_xsrf" value=")[^"]*(?="/>)', r.text)
        if xsrf == None:
            return ''

text 格式为 '<input type="hidden" name="_xsrf" value="048ccfe3d47298fdcf31f9a6a44971a4"/>'字符串

使用 [^"]* 来提取 token 字符串,同时略去不须要的部分。get

相关文章
相关标签/搜索