概述
目标解析HTML文件中的var自定义变量的值
本文主要利用正则表达式提取页面中的var $render_datab 变量的值,$render_datab变量的值是一个json字符串。
目录
1、导入依赖包
2、读取HTML源文件内容
3、编写正表达式获取var自定义变量
4、验证结果是否符合预期
1、导入依赖包
import json
import re
import requests
2、读取HTML源文件内容
import requests
html=requests.get('https://m.weibo.cn/detail/3998685497264270').text
3、编写正表达式获取var自定义变量
import json
import re
p = re.compile(r'var $render_data = (.*)[sS]{7}{};', re.MULTILINE | re.DOTALL)
dataStr= p.findall(html)[0]
dataJson=json.loads(dataStr, strict=False)
print(dataJson)
4、验证结果是否符合预期
[{'status': {'visible': {'type': 0, 'list_id': 0}, 'created_at': 'Mon Jul 18 20:19:37 +0800 2016', 'id': '3998685497264270', 'mid': '3998685497264270', 'can_edit': False, 'show_additional_indication': 0, 'text': '这些插画会让人大呼「美啊美啊!」 - 知乎日报 <a data-url="http://t.cn/Rt7DSiX" href="http://t.cn/Rt7DSiX" data-hide=""><span class='url-icon'><img style='width: 1rem;height: 1rem' src='https://h5.sinaimg.cn/upload/2015/09/25/3/timeline_card_small_web_default.png'></span><span class="surl-text">我想这些插画会让你大呼「美啊美啊!」</span></a> ', 'textLength': 63, 'source': 'iOS', 'favorited': False, 'pic_ids': [], 'pic_types': '', 'is_paid': False, 'mblog_vip_type': 0, 'user': {'id': 2039679457, 'screen_name': '一头鬼', 'profile_image_url': 'https://tva2.sinaimg.cn/crop.0.0.180.180.180/799309e1jw1e8qgp5bmzyj2050050aa8.jpg?KID=imgbed,tva&Expires=1618278724&ssig=kKLHnt6sim', 'profile_url': 'https://m.weibo.cn/u/2039679457?uid=2039679457&luicode=20000061&lfid=3998685497264270', 'statuses_count': 242, 'verified': False, 'verified_type': -1, 'close_blue_v': False, 'description': '', 'gender': 'm', 'mbtype': 0, 'urank': 10, 'mbrank': 0, 'follow_me': False, 'following': False, 'followers_count': 245, 'follow_count': 159, 'cover_image_phone': 'https://tva1.sinaimg.cn/crop.0.0.640.640.640/549d0121tw1egm1kjly3jj20hs0hsq4f.jpg', 'avatar_hd': 'https://ww2.sinaimg.cn/orj480/799309e1jw1e8qgp5bmzyj2050050aa8.jpg', 'like': False, 'like_me': False, 'badge': {'unread_pool': 1, 'unread_pool_ext': 1, 'dzwbqlx_2016': 1, 'user_name_certificate': 1}}, 'reposts_count': 0, 'comments_count': 0, 'attitudes_count': 0, 'pending_approval_count': 0, 'isLongText': False, 'reward_exhibition_type': 0, 'hide_flag': 0, 'mlevel': 0, 'darwin_tags': [], 'mblogtype': 0, 'more_info_type': 0, 'number_display_strategy': {'apply_scenario_flag': 3, 'display_text_min_number': 1000000, 'display_text': '100万+'}, 'content_auth': 0, 'pic_num': 0, 'alchemy_params': {'ug_red_envelope': False}, 'page_info': {'object_type': 2, 'type': 'webpage', 'page_pic': {'url': 'https://tc.sinaimg.cn/maxwidth.2048/tc.service.weibo.com/pic4_zhimg_com/ce37720f8fb18b09c17161967c6d92aa.jpg'}, 'page_url': 'https://weibo.cn/sinaurl?luicode=20000061&lfid=3998685497264270&u=http%3A%2F%2Fdaily.zhihu.com%2Fstory%2F8553336', 'url_ori': 'http://t.cn/Rt7DSiX', 'page_title': '我想这些插画会让你大呼「美啊美啊!」', 'content1': 'John Bauer (1882-1918),瑞典插画家,主要为北欧传说童话作插画。许多瑞典小孩都是读着他插画的故事长大的。@Erik Daae 认认真真写答案,不知道会不会有人看到呢╮(╯▽╰)╭ 多图,但我保证一定会有让你大呼“美啊美啊!”的图。 他笔下的 Troll(北欧童话中的一种巨人怪物,经典的反派角色),并不是像一般反派一样面目狰狞的,反而是胖乎乎的挺可爱的。 从上面这幅图中,我们可以发现有着珍珠般的光辉的人类公主,与灰暗的背景和不那么美丽的 troll 形成了对比。美丽纯洁的人类女孩与狡猾的 troll,是许多瑞典童话的主要角色,也是 John Bauer 重点描绘的对象。'}, 'bid': 'DFpg9utLE', 'buttons': [{'type': 'follow', 'name': '关注', 'sub_type': 0, 'params': {'uid': 2039679457}}], 'status_title': '这些插画会让人大呼「美啊美啊', 'ok': 1, 'scheme': 'https://weibo.cn/appurl?scheme=sinaweibo%3A%2F%2Fdetail%3Fmblogid%3D3998685497264270%26luicode%3D20000061%26lfid%3D3998685497264270&luicode=20000061&lfid=3998685497264270', 'tipScheme': 'https://weibo.cn/appurl?scheme=sinaweibo%3A%2F%2Fdetail%3Fmblogid%3D3998685497264270%26luicode%3D20000061%26lfid%3D3998685497264270&luicode=20000061&lfid=3998685497264270'}, 'hotScheme': 'https://m.weibo.cn/p/index?containerid=106003type%3D25%26t%3D3%26disable_hot%3D1%26filter_type%3Drealtimehot&luicode=20000061&lfid=3998685497264270', 'appScheme': 'https://m.weibo.cn?luicode=20000061&lfid=3998685497264270', 'callUinversalLink': False, 'callWeibo': False, 'hit': True, 'is_gray': 1, 'schemeOrigin': False, 'appLink': 'sinaweibo://detail?mblogid=3998685497264270&luicode=20000061&lfid=3998685497264270', 'xianzhi_scheme': 'xianzhi://mblogshow?mid=3998685497264270', 'third_scheme': 'sinaweibo://detail?mblogid=3998685497264270&luicode=20000061&lfid=3998685497264270', 'call': '1'}]
最后
以上就是危机奇迹为你收集整理的Python利用正则表达式提取var自定义变量的值的全部内容,希望文章能够帮你解决Python利用正则表达式提取var自定义变量的值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复