可以使用正则表达式来获取script标签里面的变量名cgiData的值,示例代码如下:

import re

html = """
<!DOCTYPE html>
<html lang="en">
  <head><link rel="stylesheet" href="//res.wx.qq.com/t/wx_fed/weui-source/res/2.5.0/weui.min.css" />
    <meta charset="UTF-8" />
    <meta id="viewport" name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, viewport-fit=cover" />
    <title></title>
    <style>body{background-color: var(--weui-BG-2); color: var(--weui-FG-0);}</style>
  <link href="//res.wx.qq.com/t/wx_fed/wx110/wx110/res/css/banurl.c9674390.css" rel="preload" as="style"><link href="//res.wx.qq.com/t/wx_fed/wx110/wx110/res/js/banurl.c1ed9acc4e69.js" rel="preload" as="script"><link href="//res.wx.qq.com/t/wx_fed/wx110/wx110/res/js/chunk-common.b362976d1d11.js" rel="preload" as="script"><link href="//res.wx.qq.com/t/wx_fed/wx110/wx110/res/js/chunk-vendors.4363d11fc864.js" rel="preload" as="script"><link href="//res.wx.qq.com/t/wx_fed/wx110/wx110/res/css/banurl.c9674390.css" rel="stylesheet"></head>
  <body ontouchstart="">
    <div id="app"></div>
    <script>
      var cgiData = {"retcode":0,"type":"block","title":"已停止访问该网页","desc":"据用户投诉及腾讯安全网址安全中心检测,该网页包含色情内容。为维护绿色上网环境,已停止访问。","btns":[{"name":"申请恢复访问","url":"https://weixin110.qq.com/security/newreadtemplate?t=webpage_intercept/w_more-info&url=2d8bb802f1a6a61890c1f0fd20ff7e6e13032503b616eb8352877f21fbc7f5197f4e580f4f7d46894aa8563ac0fe8b7835ed0c6dfb1023a265199be995edb112e5cff52ed826604d4537d4af5f0a1cf5de1d193422e21c7c539ec7327d0b108b&evil_type=204&source=1&exportkey=&bankey=f1bb2fd0d86db5cad44d7e77f2598631","type":"primary"}],"links":[{"name":"客服指引","url":"https://kf.qq.com/faq/170118UnqeUZ170118mUb6fu.html"},{"name":"查看规则","url":"https://weixin.qq.com/cgi-bin/readtemplate?t=weixin_external_links_content_management_specification"}]};
    </script>
    <script src="https://res.wx.qq.com/t/wx_fed/cdn_libs/res/vue/2.6.11/vue.min.js"></script>
  <script type="text/javascript" src="//res.wx.qq.com/t/wx_fed/wx110/wx110/res/js/chunk-common.b362976d1d11.js"></script><script type="text/javascript" src="//res.wx.qq.com/t/wx_fed/wx110/wx110/res/js/chunk-vendors.4363d11fc864.js"></script><script type="text/javascript" src="//res.wx.qq.com/t/wx_fed/wx110/wx110/res/js/banurl.c1ed9acc4e69.js"></script></body>
</html>
"""

pattern = re.compile(r'cgiData\s*=\s*({.*?});', re.S)
result = pattern.search(html).group(1)

print(result)

输出结果:

{"retcode":0,"type":"block","title":"已停止访问该网页","desc":"据用户投诉及腾讯安全网址安全中心检测,该网页包含色情内容。为维护绿色上网环境,已停止访问。","btns":[{"name":"申请恢复访问","url":"https://weixin110.qq.com/security/newreadtemplate?t=webpage_intercept/w_more-info&url=2d8bb802f1a6a61890c1f0fd20ff7e6e13032503b616eb8352877f21fbc7f5197f4e580f4f7d46894aa8563ac0fe8b7835ed0c6dfb1023a265199be995edb112e5cff52ed826604d4537d4af5f0a1cf5de1d193422e21c7c539ec7327d0b108b&evil_type=204&source=1&exportkey=&bankey=f1bb2fd0d86db5cad44d7e77f2598631","type":"primary"}],"links":[{"name":"客服指引","url":"https://kf.qq.com/faq/170118UnqeUZ170118mUb6fu.html"},{"name":"查看规则","url":"https://weixin.qq.com/cgi-bin/readtemplate?t=weixin_external_links_content_management_specification"}]}

可以看到,成功获取了script标签里面的变量名cgiData的值

使用python获取script标签里面的变量名cgiData的值:!DOCTYPE htmlhtml lang=en headlink rel=stylesheet href=reswxqqcomtwx_fedweui-sourceres250weuimincss meta charset=UTF-8 meta id=viewport name=viewport content

原文地址: https://www.cveoy.top/t/topic/hgJH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录