获取网页信息

每次copy & paste总是很麻烦,现在有点问题,先记录下来。

需求:获取url 里Feature list,并输出表格形式

可以用Convert curl commands to code:得到get请求的header,cookie等 

import requests
import re
from json2html import json2html
from bs4 import BeautifulSoup

cookies = {
    '_ga': 'GA1.2.1362872320.1699326902',
    '_fbp': 'fb.1.1703745569173.788449175',
    '_zm_visitor_guid': 'ab14067a105b55591ca36931e79a6fc0',
    '_zm_mtk_guid': 'b214987e283ec1df03f09df41170675b',
    '_ds_id': '8c2d2994-3b41-4b59-be95-2b8717ffe0e6',
    '__utmzz': 'source=(direct)|medium=(none)|campaign=(not set)',
    'AMP_MKTG_0753e77572': 'JTdCJTdE',
    '_gcl_au': '1.1.55355038.1703817513',
    'OnetrustActiveGroups': 'C0004C0003C0002C0001',
    'AMP_0753e77572': 'JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJkYWQyMGM3NS0xYzdkLTRmODYtYjI4Yi03MTNmZTNlY2E5ZjglMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzAzODE3NTEyNDY3JTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTcwMzgxNzUxMzMxMiUyQyUyMmxhc3RFdmVudElkJTIyJTNBMyU3RA==',
    '_yjsu_yjad': '1703817513.e9d3aadf-244b-4756-90c8-d8152831b27e',
    '_uetvid': '5c32b050a5f311ee8e0337e664efcd94',
    'iv': '51a85645-5246-4995-9a5b-627ccafbae0b',
    '_cs_c': '0',
    '_cs_id': '0b459793-a9d5-a89c-c1e2-70499565b08c.1703817514.2.1703833540.1703833540.1.1737981514343',
    '_gid': 'GA1.2.1035150089.1704176623',
    'BIGipServerpool_zoomus': '2f6ba358017c66e5283571a5c5fc3b1a',
    'JSESSIONID': '2C44F6D93F6593E571F97C2BAE1AF4DB',
    'glide_user_route': 'glide.de6ecf26cf6f93e1b52b94d2be12e7df',
    'glide_language': 'zh',
    'OptanonAlertBoxClosed': '2024-01-03T04:07:00.123Z',
    'OptanonConsent': 'isGpcEnabled=0&datestamp=Wed+Jan+03+2024+12%3A07%3A00+GMT%2B0800+(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)&version=202310.1.0&browserGpcFlag=0&isIABGlobal=false&hosts=&consentId=e9dfd41b-73f2-470f-ab16-4e504558809b&interactionCount=32&landingPath=NotLandingPage&groups=C0004%3A0%2CC0003%3A0%2CC0002%3A0%2CC0001%3A1&geolocation=JP%3B13&AwaitingReconsent=false',
}

headers = {
    'Accept': 'application/json',
    'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
    'Connection': 'keep-alive',
    # 'Cookie': '_ga=GA1.2.1362872320.1699326902; _fbp=fb.1.1703745569173.788449175; _zm_visitor_guid=ab14067a105b55591ca36931e79a6fc0; _zm_mtk_guid=b214987e283ec1df03f09df41170675b; _ds_id=8c2d2994-3b41-4b59-be95-2b8717ffe0e6; __utmzz=source=(direct)|medium=(none)|campaign=(not set); AMP_MKTG_0753e77572=JTdCJTdE; _gcl_au=1.1.55355038.1703817513; OnetrustActiveGroups=C0004C0003C0002C0001; AMP_0753e77572=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJkYWQyMGM3NS0xYzdkLTRmODYtYjI4Yi03MTNmZTNlY2E5ZjglMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzAzODE3NTEyNDY3JTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTcwMzgxNzUxMzMxMiUyQyUyMmxhc3RFdmVudElkJTIyJTNBMyU3RA==; _yjsu_yjad=1703817513.e9d3aadf-244b-4756-90c8-d8152831b27e; _uetvid=5c32b050a5f311ee8e0337e664efcd94; iv=51a85645-5246-4995-9a5b-627ccafbae0b; _cs_c=0; _cs_id=0b459793-a9d5-a89c-c1e2-70499565b08c.1703817514.2.1703833540.1703833540.1.1737981514343; _gid=GA1.2.1035150089.1704176623; BIGipServerpool_zoomus=2f6ba358017c66e5283571a5c5fc3b1a; JSESSIONID=2C44F6D93F6593E571F97C2BAE1AF4DB; glide_user_route=glide.de6ecf26cf6f93e1b52b94d2be12e7df; glide_language=zh; OptanonAlertBoxClosed=2024-01-03T04:07:00.123Z; OptanonConsent=isGpcEnabled=0&datestamp=Wed+Jan+03+2024+12%3A07%3A00+GMT%2B0800+(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)&version=202310.1.0&browserGpcFlag=0&isIABGlobal=false&hosts=&consentId=e9dfd41b-73f2-470f-ab16-4e504558809b&interactionCount=32&landingPath=NotLandingPage&groups=C0004%3A0%2CC0003%3A0%2CC0002%3A0%2CC0001%3A1&geolocation=JP%3B13&AwaitingReconsent=false',
    'Referer': 'https://support.zoom.com/hc/zh/article?id=zm_kb&sysparm_article=KB0069432',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
    'X-Transaction-Source': 'Interface=Web,Interface-Name=HC,Interface-Type=Service Portal,Interface-SysID=89275a53cb13020000f8d856634c9c51',
    'X-Use-Polaris': 'false',
    'X-UserToken': '51f7263487ef711481aec8cd0ebb355c186ebdcd75d1cab6f29335aa03a871b3bffff3f0',
    'sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'x-portal': '89275a53cb13020000f8d856634c9c51',
}

params = {
    'id': 'zm_kb',
    'sysparm_article': 'KB0069432',
    'time': '1704254869320',
    'portal_id': '89275a53cb13020000f8d856634c9c51',
    # 89275a53cb13020000f8d856634c9c51
    'request_uri': '/hc/zh/article?id=zm_kb&sysparm_article=KB0069432',
}

response = requests.get('https://support.zoom.com/api/now/sp/page', params=params, cookies=cookies, headers=headers)


data = response.text
# pattern = r'"kbContentData": \{'
pattern = r'"kbContentData":(.*/?)<li>Security enhancements'
ret = re.findall(pattern, data)[0]#["data"]

 看得出,得到的response为Json格式,但是我要获取的网页内容在kbContentData下

 但是数据解析难住我了(已知 数据为转义后的html内容)

尝试方法1:用re,但尝试如下:加了空格和\{的匹配后就获取不到匹配项了,用\s代替空格也不行,明明网页上复制可以直接找得到的???但就是匹配为空

pattern = r'"kbContentData": \{'

尝试方法2:可以得到数据,但是<\/strong, 加了反斜杠转义后的字符串,明明是html的语言,写出来的脚本,但是我不知道怎么直接把 str(加了反斜杠转义后的字符串) --》 转成html,可以his用lxml或者bs4 进行解析???

 

搞不懂,明明刚学了re,没解决。。。(╬◣д◢)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/287796.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter二次开发实操问题汇总(JDK问题,jar包问题)

前提 之前写过一篇文章&#xff1a;https://qa-lsq.blog.csdn.net/article/details/119782694 只是简单尝试了一下生成一个随机手机号码。 但是如果在工作中一个实际场景要用的二次开发&#xff0c;可能会遇到一些问题。 比如这样一个场景&#xff1a; Mobile或者前端调用部分…

【动态规划】LeetCode-10. 正则表达式匹配

10. 正则表达式匹配。 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素 所谓匹配&#xff0c;是要涵盖 整个 字符串 s的&#xff0c;而不是部分字符串。 …

conda: error: argument COMMAND: invalid choice: ‘activate‘

1.问题 2.解决方法 1.寻找基本路径 conda info | grep -i base environment2.更新资源 source /Users/suhang/miniconda3/etc/profile.d/conda.sh3.重新运行命令 conda activate chatglm参考图&#xff1a;

UI5与后端的文件交互(一)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、RAP的开发1. 创建表格2. 创建CDS Entity3. 创建BDEF4. 创建implementation class5. 创建Service Definition和Binding6. 测试API 二、创建UI5 Project1. 使…

jsp+ssm+mysql实现的酒店预定管理系统项目----计算机毕业设计

项目介绍 jspssm框架&#xff08;spring、springMVC、mybaits&#xff09;实现的酒店预定管理系统的源码和视频开发教程。本系统分前台和后台管理两部分&#xff0c;前台实现了用户登录注册、查看房型信息、预定房间、提交订单、查看个人订单、修改个人资料等&#xff0c;后台…

打造高效会员卡营销策划方案,提升门店业绩

在激烈的行业竞争中&#xff0c;如何有效提升店铺的业绩&#xff0c;提高客户粘性和消费频次呢&#xff1f;答案可能就在你手中——那就是有效的会员卡营销策略。下面给大家探讨如何设计会员卡营销策划方案&#xff0c;从而增加客户的忠诚度&#xff0c;并推动销售增长。以目前…

亚信安慧AntDB数据库引领数字时代:数字驱动创新峰会主旨演讲深度解析

近日&#xff0c;庄严肃穆的数字驱动创新峰会在中国首都北京隆重召开&#xff0c;聚焦于探讨数据经济的创新前沿。在此次盛会中&#xff0c;备受瞩目的亚信安慧AntDB数据库荣幸受邀参与&#xff0c;该数据库的副总裁张桦以其深刻见解和卓越经验发表了引人瞩目的主旨演讲。 图1&…

2024年个人工作计划怎么写?新年待办计划这样写更方便

元旦的钟声还在耳边回响&#xff0c;2024年的新篇章已经开启。面对新的一年&#xff0c;我深知一个清晰、实用的个人工作计划是多么重要。它不仅是指引我前进的灯塔&#xff0c;更是我实现目标、提升效率的秘密武器。 但如何制定这样一个计划呢&#xff1f;在过去&#xff0c;…

Github 2023-12-31 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2023-12-31统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量TypeScript项目3Swift项目1Java项目1HTML项目1Astro项目1Python项目1C项目1Dart项目1Jupyter Notebook项目1C项…

github短视频去除水印项目Douyin_TikTok_Download_API介绍

当下正值短视频盛行的时代。在我们浏览短视频的同时&#xff0c;经常能发现一些精美的图片、引人入胜的文案以及吸引眼球的视频&#xff0c;想要将它们保存到本地。然而&#xff0c;保存下来的图片或视频通常伴随着不太愉悦的水印&#xff0c;这显著降低了使用体验。因此&#…

深度学习|10.2 边缘检测示例 10.3 更多边缘检测

文章目录 如何在编程中实现卷积运算使用卷积实现边缘检测结果矩阵的元素正负性质的意义水平分类器如何构造卷积运算使用的矩阵 原矩阵通过一个过滤器&#xff08;filter&#xff09;/核心&#xff08;kernel&#xff09;来生成一个新的矩阵。 如何在编程中实现卷积运算 使用卷积…

梦百合杯8强/半决赛完赛 党毅飞、李轩豪晋级决赛

2024年1月3日,第五届“MLILY梦百合0压床垫杯”世界围棋公开赛(以下简称:梦百合杯)8强/半决赛滁州圆满落幕,党毅飞2:0胜廖元赫,李轩豪2:0胜刘宇航,两位棋坛老将成功击败两位00后新生代棋手,联袂晋级决赛。决赛计划24年5月份在江苏如皋举行。 于12月29日举办的8强赛中,党毅飞胜辜…

设计模式:简单工厂模式

这里写目录标题 工厂模式简介核心角色&#xff1a;实现 工厂模式 工厂模式&#xff08;Factory Pattern&#xff09;是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 工厂模式提供了一种将对象的实例化过程封…

短视频账号矩阵系统源码/技术交付3年开发源头

账号矩阵3年技术独立开发打造是一个非常有挑战性和前景的项目。以下是一些建议&#xff0c;帮助你成功打造一个成功的短视频账号矩阵&#xff1a; 1. 确定目标受众&#xff1a;首先需要明确你的目标受众是谁&#xff0c;了解他们的兴趣爱好、年龄、性别等&#xff0c;以便为他们…

航芯ACM32G103开发板评测 02-GPIO输入输出

航芯ACM32G103开发板评测 02-GPIO输入输出 航芯ACM32G103开发板评测 GPIO输入输出应用 软硬件平台 ACM32G103 Board开发板 MDK-ARM Keil GPIO输出典型应用——点灯 GPIO输入典型应用——按键 GPIO 功能概述 GPIO 是通用输入/输出&#xff08;General Purpose I/O&#x…

你对自己的努力满意吗?回复10-100分

有的学生备战高考&#xff0c;或者上班&#xff0c;每天能量满满&#xff0c;战气十足。虽然很累&#xff0c;但是很痛快。有些人今天进步很快&#xff0c;工作休息很辛苦&#xff0c;但是却不累。 有的人一直在抑郁寡欢&#xff0c;有的人信心十足&#xff0c;认定一个目标&am…

[足式机器人]Part2 Dr. CAN学习笔记-动态系统建模与分析 Ch02-1+2课程介绍+电路系统建模、基尔霍夫定律

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-动态系统建模与分析 Ch02-12课程介绍电路系统建模、基尔霍夫定律 1. 课程介绍2. 电路系统建模、基尔霍夫定律 1. 课程介绍 2. 电路系统建模、基尔霍夫定律 基本元件&#xff1a; 电量 库伦&…

openGauss学习笔记-183 openGauss 数据库运维-升级-升级操作

文章目录 openGauss学习笔记-183 openGauss 数据库运维-升级-升级操作183.1 就地升级和灰度升级操作步骤 openGauss学习笔记-183 openGauss 数据库运维-升级-升级操作 介绍就地升级、灰度升级和滚动升级的详细操作。 183.1 就地升级和灰度升级操作步骤 以root身份登录节点。 …

clickhouseSQL日期相关

1. 毫秒级时间戳转日期/小时 --13位时间戳转具体时间 toDateTime(report_time / 1000) as _c00 -- 获取时间戳对应的时间点整点(结果&#xff1a;%Y-%m-%d %H:00:00.0) eg&#xff1a;2022-09-28 23:00:00.0 toStartOfHour(toDateTime(report_time / 1000)) AS _10-- 获取时间…

C语言数组习题

1.数组遍历 #include <stdio.h>int main(){int i,a[10];for(i0;i<9;i) //对数组元素a[0]~a[9]赋值 a[i]i;for(i9;i>0;i--) //输出a[9]~a[0]共10个数组元素 printf("%d ",a[i]);printf("\n");return 0;} 运行结果&#xff1a; 2.数组应用&a…