Skip to content

Instantly share code, notes, and snippets.

@fswair
Created November 14, 2023 13:49
Show Gist options
  • Save fswair/40a28ba253041cd5672cb1ded5047e6f to your computer and use it in GitHub Desktop.
Save fswair/40a28ba253041cd5672cb1ded5047e6f to your computer and use it in GitHub Desktop.
cppreference.com impl. python
from requests import get
from bs4 import BeautifulSoup
class CPPReference:
def __init__(self, keyword: str) -> None:
self.keyword = keyword
self.url = f"https://en.cppreference.com/w/cpp/keyword/{keyword}"
def request(self):
self.response = get(self.url, headers={"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0"})
if self.response.status_code != 200:
return 0
self.soup = BeautifulSoup(self.response.text, 'html.parser')
self.table = self.soup.select_one("div.mw-content-ltr")
self.defines = list(map(str.strip, (self.table.text.split("Usage")[1].strip().split("\n"))))
return self
def formatter(self, spipe: str = "\n") -> str:
return f"**[keyword: {self.keyword}]**\n\n\
{spipe.join(self.defines)}\
\n\n[Source]({self.url})]"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment