Update Polymarket documentation (2026-02-19)
- Added new documentation URLs from llms.txt index - Updated TARGET.md with 244 total documentation pages - Scraped new pages for trading, concepts, and API reference sections - Updated changelog and new index pages
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Scrape Polymarket documentation using web_fetch tool.
|
||||
"""
|
||||
|
||||
import subprocess
|
||||
import json
|
||||
import os
|
||||
import time
|
||||
from pathlib import Path
|
||||
|
||||
def fetch_url(url):
|
||||
"""Use web_fetch to get markdown content from a URL."""
|
||||
cmd = [
|
||||
"npx", "tsx", "-e",
|
||||
f'''
|
||||
import tool from "./tool.mjs";
|
||||
const result = await tool.read({{path: "/home/himalaya/clawd/PolymarketDocumentation/scrape_single.mjs", limit: 200}});
|
||||
console.log(JSON.stringify(result));
|
||||
'''
|
||||
]
|
||||
|
||||
# Use subprocess to call a Node.js script that uses the web_fetch
|
||||
result = subprocess.run(
|
||||
["node", "-e", f'''
|
||||
const {{ web_fetch }} = require('./node_modules/openclaw/node_tools.js');
|
||||
web_fetch({{url: "{url}"}}).then(r => console.log(JSON.stringify(r, null, 2)));
|
||||
'''"],
|
||||
capture_output=True,
|
||||
text=True,
|
||||
cwd="/home/himalaya/clawd"
|
||||
)
|
||||
return result.stdout
|
||||
|
||||
def main():
|
||||
# Read TARGET.md
|
||||
with open("TARGET.md", "r") as f:
|
||||
lines = f.readlines()
|
||||
|
||||
# Extract URLs
|
||||
urls = []
|
||||
for line in lines:
|
||||
line = line.strip()
|
||||
if line.startswith("https://"):
|
||||
urls.append(line)
|
||||
|
||||
print(f"Found {len(urls)} URLs to scrape")
|
||||
|
||||
# Create docs directory
|
||||
Path("docs").mkdir(exist_ok=True)
|
||||
|
||||
# Process each URL
|
||||
for i, url in enumerate(urls, 1):
|
||||
print(f"[{i}/{len(urls)}] Fetching: {url}")
|
||||
|
||||
# Extract path
|
||||
path = url.replace("https://docs.polymarket.com/", "")
|
||||
|
||||
# Create directory structure
|
||||
dir_path = Path("docs") / Path(path).parent
|
||||
dir_path.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# Output file
|
||||
output_file = Path("docs") / path
|
||||
|
||||
# Use curl to fetch and web_fetch for markdown extraction
|
||||
import subprocess
|
||||
result = subprocess.run(
|
||||
["curl", "-s", "-L", "-A", "Mozilla/5.0", url],
|
||||
capture_output=True,
|
||||
text=True
|
||||
)
|
||||
|
||||
content = result.stdout
|
||||
|
||||
# Save content
|
||||
with open(output_file, "w") as f:
|
||||
f.write(content)
|
||||
|
||||
print(f" -> {output_file}")
|
||||
time.sleep(0.5)
|
||||
|
||||
print("Done!")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user