Skip to content

Latest commit

History

62 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

HTTParser

Every time I needed to scrape or crawl a new site I'd end up writing the same boilerplate: requests for static pages, Selenium for JavaScript-heavy ones, BeautifulSoup for parsing. I made this so I don't have to keep redoing that every time. Import it, pass a format flag, done.

Python library for parsing web content over HTTP, with optional JavaScript rendering via Selenium.

Install

git clone https://github.com/ramonclaudio/HTTParser.git
cd HTTParser
pip install -r requirements.txt

Optional for JavaScript rendering:

pip install selenium

Usage

HTML

fromhttparserimportHTTParserr=HTTParser(url="https://httpbin.org/html", method="get", response_format="html")
print(r.response())

JSON

fromhttparserimportHTTParser# GETr=HTTParser(url="https://httpbin.org/json", method="get", response_format="json")
# POSTr=HTTParser(
url="https://httpbin.org/anything",
method="post",
response_format="json",
payload={"key": "value"},
)
print(r.response())

JavaScript (dynamic)

fromhttparserimportHTTParserr=HTTParser(
url="https://httpbin.org/delay/3",
method="get",
response_format="js",
browser_path="/path/to/browser",
chromedriver_path="/path/to/chromedriver",
)
print(r.response())

Parameters

ParameterRequiredFormat
urlyesstring
methodyes"get" or "post"
response_formatyes"html", "json", or "js"
headersno{"header": "value"}
paramsno{"param": "value"}
payloadno{"key": "value"} (POST only)
browser_pathnopath to any Chromium-based browser binary (js only)
chromedriver_pathnopath to ChromeDriver (js only)

JavaScript rendering setup

Download ChromeDriver at https://chromedriver.chromium.org/downloads matching your browser version. Works with Chrome, Chromium, Edge, Brave, Arc, Dia, Vivaldi, Opera, Helium, and other Chromium-based browsers.

Errors

Errors log to Error.log.

License

MIT

About

Python library for parsing web content over HTTP, with optional JavaScript rendering via Selenium.

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages