Squashed from chore/license-relicense. Full message preserved in the original branch commitbb77eb5. See ADR-0002 for the decision rationale. Refs: ADR-0002, commitbb77eb5
55 lines
No EOL
1.4 KiB
JSON
55 lines
No EOL
1.4 KiB
JSON
{
|
|
"name": "Twitter/X Profile",
|
|
"description": "Extract profile information from Twitter/X profiles",
|
|
"site": "twitter.com",
|
|
"category": "social",
|
|
"icon": "\ud83d\udc26",
|
|
"url_pattern": "*://twitter.com/*",
|
|
"schema": {
|
|
"name": "twitter_profile",
|
|
"base_selector": "[data-testid='primaryColumn']",
|
|
"fields": [
|
|
{
|
|
"name": "display_name",
|
|
"selector": "[data-testid='UserName']",
|
|
"type": "text"
|
|
},
|
|
{
|
|
"name": "bio",
|
|
"selector": "[data-testid='UserDescription']",
|
|
"type": "text"
|
|
},
|
|
{
|
|
"name": "followers",
|
|
"selector": "a[href*='/followers'] span",
|
|
"type": "text",
|
|
"transform": "int"
|
|
},
|
|
{
|
|
"name": "following",
|
|
"selector": "a[href*='/following'] span",
|
|
"type": "text",
|
|
"transform": "int"
|
|
},
|
|
{
|
|
"name": "location",
|
|
"selector": "[data-testid='UserProfileHeader_Items']",
|
|
"type": "text"
|
|
},
|
|
{
|
|
"name": "website",
|
|
"selector": "[data-testid='UserProfileHeader_Items'] a",
|
|
"type": "attribute",
|
|
"attribute": "href"
|
|
},
|
|
{
|
|
"name": "avatar",
|
|
"selector": "img[alt*='avatar']",
|
|
"type": "attribute",
|
|
"attribute": "src"
|
|
}
|
|
]
|
|
},
|
|
"_license": "MIT",
|
|
"_copyright": "Copyright (c) 2026 Rug Munch Media LLC"
|
|
} |