首页 > 解决方案 > 如何使用 selenium 以编程方式解析来自 instagram ?__a=1 页面的字符串

问题描述

在我使用 selenium 登录我的 instagram 帐户后,我访问了https://www.instagram.com/example/?__a=1一个包含许多用户信息的 json 页面,例如:

{"logging_page_id":"profilePage_11288110","show_suggested_profiles":false,"graphql":{"user":{"biography":"\ud83d\udc47 \u2018Bangers & Ballads OUT NOW\u2019\ud83d\udc47","blocked_by_viewer":false,"country_block":false,"external_url":"https://bangers.lnk.to/bangersballadsIn","external_url_linkshimmed":"https://l.instagram.com/?u=https%3A%2F%2Fbangers.lnk.to%2FbangersballadsIn&e=ATMgu1_Mj-1mm4EEU1h6pkhKhcRYlXypnC3RezuzzA9l8ftEs832t_Gc3vk3VCI5GXPNRR84EcLgjog2","edge_followed_by":{"count":494093},"followed_by_viewer":false,"edge_follow":{"count":1536},"follows_viewer":false,"full_name":"example","has_channel":false,"has_blocked_viewer":false,"highlight_reel_count":14,"has_requested_viewer":false,"id":"11288110","is_business_account":true,"is_joined_recently":false,"business_category_name":"Creators & Celebrities","business_email":"gleaveeliot@gmail.com","business_phone_number":"","business_address_json":"{\"street_address\": \"\", \"zip_code\": \"\", \"city_name\": \"\", \"region_name\": \"\", \"countcode\": \"\"}","is_private":false,"is_verified":true,"edge_mutual_followed_by":{"count":0,"edges":...

我想知道我是否可以"id":"11288110"通过使用 Selenium 来解析。

标签: pythonselenium

解决方案


如果您知道该页面将只包含 JSON(或者您至少可以使用 Selenium 从页面中提取有效的 JSON 代码字符串),并且您的 Selenium 命令都是从 Python 脚本调用的,那么您还可以json在同一脚本中使用 Python 的模块。

import json

json_code_string = { "logging_page_id":"profilePage_11288110", "etc":"etc" }     
my_dictionary = json.loads(json_code_string)

所以my_dictionary["logging_page_id"]例如应该给你回字符串profilePage_11288110。只需设置json_code_string为您通过 Selenium 提取的 JSON 字符串。


推荐阅读