Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

139 Commits

Repository files navigation

httpc

SponsoringHitsPyPI - DownloadsimageimageRuffuv

httpx with CSS

Installation

pip install -U httpc

Examples

>>>importhttpc>>>response=httpc.get("https://www.python.org/")
>>>response.match("strong") # CSS Matching
[<Nodestrong>, <Nodestrong>, <Nodestrong>]
>>>response.match("strong").bc.text() # Broadcasting
['Notice:', 'A A', 'relaunched community-run job board']
>>>response.single("div") # .single() methodValueError: Query'div'matchedwith47nodes (errorfrom'https://www.python.org/').
>>>response.single("div", remain_ok=True) # .single() method<Nodediv>>>>response.single("#content")
<Nodediv>>>>httpc.get("https://python.org")
<Response [301MovedPermanently]>>>>httpc.common.get("https://python.org") # ClientOptions and httpc.common<Response [200OK]>>>>httpc.common.get("https://hypothetical-unstable-website.com/", retry=5) # retry parameterAttemptingfetchagain (ConnectError)...
Attemptingfetchagain (ConnectError)...
Successfullyretrieve'https://hypothetical-unstable-website.com/'<Response [200OK]>>>>httpc.get("https://httpbin.org/status/400")
<Response [400BADREQUEST]>>>>httpc.get("https://httpbin.org/status/400", raise_for_status=True) # raise_for_status as parameterhttpx.HTTPStatusError: Clienterror'400 BAD REQUEST'forurl'https://httpbin.org/status/400'Formoreinformationcheck: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400>>>httpc.get("https://httpbin.org/status/500", raise_for_status=True, retry=3)
Attemptingfetchagain (statuscode500)...
Attemptingfetchagain (statuscode500)...
Attemptingfetchagain (statuscode500)...
httpx.HTTPStatusError: Servererror'500 INTERNAL SERVER ERROR'forurl'https://httpbin.org/status/500'Formoreinformationcheck: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500

Release Note

  • 0.14.0: httpc select subcommand 추가, 기본 headers 변경, cookie_utils 추가
  • 0.13.0: next_data 처리 방식 변경
  • 0.12.0: httpc.catcher의 데이터베이스 형식 변경, migration 추가, httpc.catcher migrate CLI 명령어 추가
  • 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 new parameter, remove select method, rename css to match from CSSTool, remove cache_api.py (unused script), add url note, retry if server error on raise_for_status, bugfix
  • 0.2.0: Initial release

About

httpx with CSS

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages