1, 웹 크롤러는 요청을 요청

그 요청을 요청하는 요청 파이썬 브라우저 요청과 아날로그 모듈, 상기 소스가 리턴되는 HTML

두 개의 아날로그 브라우저는 사용자 로그인을 요청하거나 인증 로그인을 요청하는 데 필요하지 않습니다 또는 요청은 사용자 인증이 필요합니다

먼저, 사용자가 로그인이나 인증 요청에 필요하지 않습니다

이것은 비교적 간단 모듈 요청은 직접 소스 HTML을 얻을 수있는 요청을 보내

# !를 / usr / 빈 / ENV 파이썬 
# - * - 코딩 : UTF8 - * - 
가져 오기 요청      # 가져 오기 아날로그 모듈 브라우저 요청 

HTTP = requests.get (URL을 = " http://www.iqiyi.com/ " )      # HTTP 요청을 전송 
http.encoding = " UTF-. 8 "                              # HTTP 요청 인코딩 
neir = http.text                                     # 가져 오기 코드 문자열의 HTTP 
인쇄 (neir)
<! DOCTYPE HTML>
<HTML>
<head>
<제목> 서랍 새로운 핫 목록 - 매일 중합 인기있는, 재미 있고, 흥미로운 정보 </ 제목>
        <메타 캐릭터 = " UTF-8 " />
        <메타 이름 = " 키워드 " 내용 = " 새로운 핫 목록, 정보, 스크립트, 사진 서랍, 공공해야하지, 기술, 뉴스, 축제 퍼레이드, 재미 " />

        <메타은 이름 = " 설명 " 내용 = "
             새로운 핫리스트 서랍 가져 함께 매일 코미디 스크립트, 인기있는 사진, 재미있는 뉴스. 그것은 웨이 보, 포털, 커뮤니티, 게시판, 소셜 네트워킹 사이트 및 기타 대규모 콘텐츠 신디케이션 함께 사용자 추천 매일 인기 섹시한 모습 서랍 새로운 핫리스트, 흥미로운 정보 탁 트인 전망의 목록을 생성 할 수 있습니다.
             " />

        <메타 이름 = " 로봇 " 내용 = " 지수에 따라 " />
        <메타 이름 = " GOOGLEBOT " 내용 = " 지수에 따라 " />
        <메타 이름 = " 저자 " 내용 = " 搞笑" />
        <메타 HTTP-당량 = " X-UA 호환 " 함량 = " IE = EmulateIE8 " >
        <링크 타입 = " 이미지 / X-아이콘 " HREF = " /images/chouti.ico " REL = " 아이콘 " />
        <링크 유형 = " 이미지 / X-아이콘 " HREF = " /images/chouti.ico " 확인해 = " 바로 가기 아이콘 " />
        <링크 타입 = " 이미지 / X-아이콘 " HREF = " /images/chouti.ico " REL = " 북마크 " />
    <링크 타입 = " 애플리케이션 / opensearchdescription + XML "

둘째, 사용자의 로그인이나 인증 요청

이 페이지를 취득 할 때, 우리는 먼저, 전체 로그인 프로세스, 사용자가 로그인 정보를 쿠키 파일을 생성 수행한다 들어갈 때 사용자가 처음 방문, 쿠키가 자동으로 브라우저에서 파일을 생성합니다 보통 로그인 프로세스를 이해해야합니다 로그인 정보는이 쿠키를 줄 것이다 맞다면

수행 할 수 액세스 후 인증 쿠키 후 페이지를 로그인해야 인증, 후

자동으로 쿠키가 생성되는 경우 1, 집에서 첫 번째 방문, 한 다음 참조

# !를 / usr / 빈 / ENV 파이썬 
# - * - 코딩 : UTF8 - * - 
가져 오기 요청      # 가져 오기 아날로그 모듈 브라우저 요청을

# ## 일 전에 로그인을 집에서 접근이 쿠키 얻을 수 없습니다 
I1 = (requests.get를
    URL = " http://dig.chouti.com/ " ,
    헤더 = { ' 리퍼러 ' : ' http://dig.chouti.com/ ' }
)
i1.encoding = " . UTF-8 "                                # HTTP 요청 인코딩 
i1_cookie = i1.cookies.get_dict ()
 인쇄 (i1_cookie)                                     #의 반환 획득 쿠키 
#의 반환 값 : { 'JSESSIONID': 'aaaTztKP -KaGLbX-T6R0v', 'GPSD ':'c227f059746c839a28ab136060fe6ebe ','경로 ':'f8b4f4a95eeeb2efcff5fd5e417b8319 '}

로그인 페이지 액세스 휴대가 인증이 필요 후 쿠키를 생성 볼 수있는 쿠키는 로그인 정보가 올바른지 설명 할 수있다, 배경은, 여기에 인증 쿠키를 줄 것이다

2, 자동으로 인증 쿠키 로그인 프로그램을 수 있도록

첫째, 우리는 로그인 페이지, 암호 및 계정에 대해 가볍게 입력 한 로그인 페이지의 URL을 얻을, 및 로그인 필수 항목 액세스 브라우저를 사용하는

 

 

 

 

운반 쿠키 등록 기관

 

# !를 / usr / 빈 / ENV 파이썬 
# - * - 코딩 : UTF8 - * - 
가져 오기 요청      # 가져 오기 아날로그 모듈 브라우저 요청을

### 1、在没登录之前访问一下首页,获取cookie
i1 = requests.get(
    url="http://dig.chouti.com/",
    headers={'Referer':'http://dig.chouti.com/'}
)
i1.encoding = "utf-8"                               #http请求编码
i1_cookie = i1.cookies.get_dict()
print(i1_cookie)                                    #返回获取到的cookie
#返回:{'JSESSIONID': 'aaaTztKP-KaGLbX-T6R0v', 'gpsd': 'c227f059746c839a28ab136060fe6ebe', 'route': 'f8b4f4a95eeeb2efcff5fd5e417b8319'}

### 2、用户登陆,携带上一次的cookie,后台对cookie中的随机字符进行授权
i2 = requests.post(
    url="http://dig.chouti.com/login",              #登录url
    data={                                          #登录字段
        'phone': "8615284816568",
        'password': "279819",
        'oneMonth': ""
    },
    headers={'Referer':'http://dig.chouti.com/'},
    cookies=i1_cookie                               #携带cookie
)
i2.encoding = "utf-8"
dluxxi = i2.text
print(dluxxi)                                       #查看登录后服务器的响应
#返回:{"result":{"code":"9999", "message":"", "data":{"complateReg":"0","destJid":"cdu_50072007463"}}}  登录成功

3、登录成功后,说明后台已经给cookie授权,这样我们访问需要登录的页面时,携带这个cookie即可,比如获取个人中心

#!/usr/bin/env python
# -*- coding:utf8 -*-
import requests     #导入模拟浏览器请求模块

### 1、在没登录之前访问一下首页,获取cookie
i1 = requests.get(
    url="http://dig.chouti.com/",
    headers={'Referer':'http://dig.chouti.com/'}
)
i1.encoding = "utf-8"                               #http请求编码
i1_cookie = i1.cookies.get_dict()
print(i1_cookie)                                    #返回获取到的cookie
#返回:{'JSESSIONID': 'aaaTztKP-KaGLbX-T6R0v', 'gpsd': 'c227f059746c839a28ab136060fe6ebe', 'route': 'f8b4f4a95eeeb2efcff5fd5e417b8319'}

### 2、用户登陆,携带上一次的cookie,后台对cookie中的随机字符进行授权
i2 = requests.post(
    url="http://dig.chouti.com/login",              #登录url
    data={                                          #登录字段
        'phone': "8615284816568",
        'password': "279819",
        'oneMonth': ""
    },
    headers={'Referer':'http://dig.chouti.com/'},
    cookies=i1_cookie                               #携带cookie
)
i2.encoding = "utf-8"
dluxxi = i2.text
print(dluxxi)                                       #查看登录后服务器的响应
#返回:{"result":{"code":"9999", "message":"", "data":{"complateReg":"0","destJid":"cdu_50072007463"}}}  登录成功

### 3、访问需要登录才能查看的页面,携带着授权后的cookie访问
shouquan_cookie = i1_cookie
i3 = requests.get(
    url="http://dig.chouti.com/user/link/saved/1",
    headers={'Referer':'http://dig.chouti.com/'},
    cookies=shouquan_cookie                        #携带着授权后的cookie访问
)
i3.encoding = "utf-8"
print(i3.text)                                     #查看需要登录才能查看的页面

 

 

获取需要登录页面的html源码成功

全部代码

get()方法,发送get请求
encoding属性,设置请求编码
cookies.get_dict()获取cookies
post()发送post请求
text获取服务器响应信息

搜索887934385交流群免费获取全部源码

추천

출처www.cnblogs.com/pypypy/p/12003843.html