httpc
httpx with CSS
Installation
pip install -U httpc
Examples
>>> import httpc
>>> response = httpc.get("https://www.python.org/")
>>> response.match("strong") # CSS Matching
[<Node strong>, <Node strong>, <Node strong>]
>>> response.match("strong").bc.text() # Broadcasting
['Notice:', 'A A', 'relaunched community-run job board']
>>> response.single("div") # .single() method
ValueError: Query 'div' matched with 47 nodes (error from 'https://www.python.org/').
>>> response.single("div", remain_ok=True) # .single() method
<Node div>
>>> response.single("#content")
<Node div>
>>> httpc.get("https://python.org")
<Response [301 Moved Permanently]>
>>> httpc.common.get("https://python.org") # ClientOptions and httpc.common
<Response [200 OK]>
>>> httpc.common.get("https://hypothetical-unstable-website.com/", retry=5) # retry parameter
Attempting fetch again (ConnectError)...
Attempting fetch again (ConnectError)...
Successfully retrieve 'https://hypothetical-unstable-website.com/'
<Response [200 OK]>
>>> httpc.get("https://httpbin.org/status/400")
<Response [400 BAD REQUEST]>
>>> httpc.get("https://httpbin.org/status/400", raise_for_status=True) # raise_for_status as parameter
httpx.HTTPStatusError: Client error '400 BAD REQUEST' for url 'https://httpbin.org/status/400'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
>>> httpc.get("https://httpbin.org/status/500", raise_for_status=True, retry=3)
Attempting fetch again (status code 500)...
Attempting fetch again (status code 500)...
Attempting fetch again (status code 500)...
httpx.HTTPStatusError: Server error '500 INTERNAL SERVER ERROR' for url 'https://httpbin.org/status/500'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
Release Note
- 0.14.0:
httpc selectsubcommand 추가, 기본 headers 변경, cookie_utils 추가 - 0.13.0: next_data 처리 방식 변경
- 0.12.0:
httpc.catcher의 데이터베이스 형식 변경, migration 추가,httpc.catcher migrateCLI 명령어 추가 - 0.11.0:
httpc를 통해 cli 접근,httpc cookies추가, 기타 다양한 기능 개선 - 0.10.0.post1: httpc-clean에서 method 입력 (-X)도 인식, ParseTool.extract_next_data와 ParseTool.next_data 추가, httpc-next-data cli 추가, 기타 버그 수정 및 리팩토링
- 0.9.1: 버그 수정 및 개선
- 0.9.0: catcher에서 헤더가 다를 경우 다른 request로 취급하는 distinguish_headers 추가, ValueError 대신 RequestNotFoundError 사용, headers 최신화, 기타 리팩토링
- 0.8.0: httpc-clean 기능 data와 cookie 파라미터도 받도록 확장, 파이썬 3.10 이상으로 지원 범위 좁힘, catcher.install 함수를 catcher.install_httpx으로 이름 변경, retry 설정 시 httpx의 오류에만 retry하도록 변경
- 0.7.0: Add httpc.catcher (from httpx-catcher), add httpc-clean CLI script for sanitizing headers
- 0.6.0: Remove deprecated parameters, remove ClientOptions
- 0.5.0: Use Lexbor as default backend, fix and improve retry and raise_for_status
- 0.4.0: Fix incorrect type hint, rename CSSTool to ParseTool, CSSResponse to Response, bugfixes and small improvements
- 0.3.0: Add
newparameter, removeselectmethod, renamecsstomatchfrom CSSTool, remove cache_api.py (unused script), add url note, retry if server error on raise_for_status, bugfix - 0.2.0: Initial release
Metadata
Release files for httpc 0.14.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| httpc-0.14.0.tar.gz | 99.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| httpc-0.14.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 128.7 kB
Release files / httpc-0.14.0.tar.gz
| Download URL | httpc-0.14.0.tar.gz |
|---|---|
| Size | 99.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f2142d32555b5610afed1e897c399a3a2c93147c579d574caa7200e3c347737
|
|
BLAKE2b-256 checksum How to use checksums |
8a7e6c49a4f37b8f12877705f43f60631174c39e068c677573882d7654afd037
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.16.5 cpython/3.13.13 HTTPX/0.28.1
|
Release files / httpc-0.14.0-py3-none-any.whl
| Download URL | httpc-0.14.0-py3-none-any.whl |
|---|---|
| Size | 28.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4c464733e8cb77ca388daed62937bc02661df9a162613f2bc16b84386e92871f
|
|
BLAKE2b-256 checksum How to use checksums |
02494a0f47d7ea547445939225e49eb2c0dc3919112114047c8c309f9f7f9292
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.16.5 cpython/3.13.13 HTTPX/0.28.1
|