요청은 아파치 라이선스 오픈 소스 HTTP 프로토콜 라이브러리를 사용하여, URLLIB에 따라, 파이썬 언어로 기록됩니다. 그것은 URLLIB보다 편리, 우리는 완전히 HTTP 테스트의 요구를 충족하기 위해 많은 노력을 절약 할 수 있습니다. 요청 철학은 PEP 개발의 중심 (20) 숙어, 그래서 그것은 Pythoner의 URLLIB 이상입니다.
주사위를 설치하여
요청을 설치 PIP
가장 기본적인 GET 요청을
. 1 개 임포트 요청 2 . 3 REQ requests.get = ( ' https://www.cnblogs.com/ ' ) # 일반 GET 요청 . 4 인쇄 (req.text) # 페이지 태그를 분석하는 메타 태그를 조회 헤드 헤더 < 캐릭터 메타 = "UTF-. 8"/> . (5) 인쇄 (req.content) # 중국어 중 일부 왜곡은, 복호해야 . 6 전단 (req.content.decode ( " UTF-. 8 ' )) # 디코딩과 디코딩을
1 requests.get ( 'https://github.com/timeline.json') #은 请求GET 2 requests.post ( "http://httpbin.org/post") #의 POST请求 3 "(HTTP를 requests.put를 : //httpbin.org/put ") #가 请求PUT 4 http://httpbin.org/delete") requests.delete ( " #가 请求DELETE 5 requests.head ("http://httpbin.org/get ")를 # HEAD请求 6 requests.options ( "http://httpbin.org/get") #의 옵션请求
GET 방식뿐만 아니라 간단하다, 다른 방법이 통합되는 인터페이스 스타일
둘째, 필요 후 암호 페이지와 사용자 이름을 얻었다
. 1 개 임포트 요청 2 3. 과 PostData = { 4. ' 이름 ' : ' 테이트 ' , . 5 ' 패스 ' : ' 123456 ' . 6 } #는 사전 형식이어야 7. REQ requests.post = ( ' http://www.iqianyue.com/ mypost ' , 데이터 = 과 PostData) . 8 전단 (req.text) # 로그인 페이지에 입력 한 후 . 9 10 yonghu req.content = # 사용자 로그인의 결과 . 11 F = 열기 ( '1.html ' , ' WB은 ' ) # 1 1.html 결과 기록 (12)은 (yonghu) f.write 13이다 ) f.close (
http://www.iqianyue.com/mypost
이 사이트에 로그인 할 필요가, 우리는 사용자 이름과 암호 사전을 정의 할
HTML 파일에 결과를 기록 할 수없는 오류를 실행하지
1 < HTML > 2 < 선두 > 3 < 타이틀 > 포스트 테스트 페이지 </ 타이틀 > 4 </ 헤드 > 5 6 < 체 > 7 < 폼 작업 = "" 방식 = "POST" > 8 명 : < 입력 이름 = " 이름 " 타입 ="텍스트 " /> < BR > 9 passwd에 : < 입력 이름 ="통과 " 유형 ="텍스트 " /> < BR > (10) < 입력 이름 = "" 유형 = "제출" 값 = ""제출 /> (11) < BR /> 12 입력 한 이름입니다 : 부동산 < BR > 당신이 입력 passwd 파일은 다음과 같습니다 123456 </ 몸 > (13) </ HTML >
안티 상승에 대한 헤더, 세 번째
. 1 개 가져 오기 요청 이 3. 헤더 = { 네. ' User-- 에이전트 ' : ' 모질라 / 5.0 (윈도우 NT 10.0하며 WOW64) AppleWebKit / 537.36 (KHTML, 도마뱀 등) 크롬 / 63.0.3239.132 사파리 / 537.36 ' 5. } #의 요청 헤더 전송 요청은, 헤더 필드의 복수 사전에 직접 첨가 할 수있다 . 6 REQ requests.get = ( ' http://maoyan.com/board ' 헤더 = 헤더) #의 패스 인자 . (7) 전단 (req.text)
1 사용자 에이전트 ':'모질라 / 5.0 (윈도우 NT 10.0; WOW64) AppleWebKit / 537.36 (게코 같은 KHTML) 크롬 / 63.0.3239.132 사파리 / 537.36
일부 페이지는 403이 금지 된 후, 우리는 사용자 에이전트 hesders의 웹 페이지에보고 인수가 전달 될 읽기, 고양이 눈 영화 정보 페이지 실행을 크롤링 할 때 사전에 추가 할 필요가 갈 것입니다
넷째, 착륙을 생략하기 위해 쿠키를 사용합니다
. 1 개 임포트 요청 2 . 3 F = 열기 ( ' 를 Cookies.txt ' , ' R & LT ' ) . 4 #는 변수 쿠키 사전을 초기화한다 . 5 개 쿠키 = {} . 6 # 위해 다이 싱을 반복한다. 문자, 잘라 판독하고 통과하는 데이터의리스트를 반환한다 . (7)를 위한 라인 에서 , f.read () 스플릿 도달. ( ' ; ' ) . 8 # 분할 파라미터가 1로 설정되고, 캐릭터는 두 부분으로 절단된다 . 9 명, 값 = line.split ( ' = ' . 1 ) 10 #은 콘텐츠 사전 쿠키에 추가 . 11 쿠키 [이름] = 값 12 URL = " https://www.cnblogs.com/ ' 13 입술 = requests.get (URL, 쿠키 = 쿠키) 14 개 데이터 = res.content 15 의 F1 = 개방 ( ' bokeyuan.html ' , ' WB ' ) 16 f1.write (데이터) 17 f1.close () 18 f.close ()
첫째, 쿠키 웹 페이지를 얻기 복사하고 새 텍스트로 붙여 사용자 이름과 암호를 입력 한 후, 절단을 통해 루프 빈 사전 쿠키를 만들 수 있습니다. 문자 필드에 따라 쿠키는 2 개 개의 부분으로 잘라 읽기.
실행은 HTML 파일에 HTML 파일의 bokeyuan 선정되는 결과를 작성 후 직접 방문 후 페이지를 입력 페이지 아이콘을 클릭
5, 에이전트 IP
1 개 임포트 요청 2 3 = 프록시 { 4 ' HTTP ' : ' 183.129.244.17:10080 ' 5 } 6 REQ requests.get = ( ' https://www.taobao.com/ ' , = 프록시의 프록시) 7 인쇄 (REQ .본문)
인수가 IP를 피하기 위해 폐쇄되었을 때, 종종 프록시를 사용. 요청은 해당이 proxies
특성을. 우리는, 웹 프록시 IP에서 찾을 사전에 프록시 IP 주소와 포트를 입력 할 수 있습니다, 여러 IP는 사전 바로 뒤에 추가 할 수 있습니다. 프록시 계정과 암호를 요구하는 경우, 당신이 필요합니다 :
1 프록시 = { 2 " HTTP " : " HTTP : // 사용자 : [email protected] : 3128 / ' , 3 }
여섯째, 시간 제한 설정
1 개 임포트 요청 2 3 REQ requests.get = ( ' https://www.taobao.com/ ' , 제한 시간 = 1 ) (4) 잉크 (req.text)
시간 제한에 관계없이 다운로드 응답 본체 만 효과적인 연결 과정
이후의 보충 할 동작 기반 라이브러리 요청 위 ......
HTTPS : //www.cnblogs.com/Estate-47/p/9799332.html 재현