python爬虫post请求,python爬虫post请求原理

首页 > 数码 > 作者:YD1662024-06-21 15:55:32

#coding=utf-8

import requests

'''

get和post封装的方法,如果是要爬取的网址可以直接从浏览器中打开,可以使用

如果需要类似于 登录 的时候尽量不要使用封装,需要登录的网址,通常需要cookie,

我们封装的,每次建立连接都会产生一次新的会话,cookie容易丢失

'''

def get(url,params=None,cookie=None,header=None, verify=False,proxies=None):

# 建立session

# 设置要返回的内容,以字典形式存在

session = requests.session()

ret={}

ret['issuccess']=False

try:

# 判断参数、cookie、header、verify是否存在

if params:

session.params = params

if cookie:

session.cookies = cookie

if header:

session.headers = header

if verify==True:

session.verify=verify

if proxies:

session.proxies = proxies

# 发送请求

rets = session.get(url,verify=verify)

if rets:

# 如果请求的数据是正常响应的,返回响应的数据

ret['issuccess']=True

ret['message']=rets.content

except Exception, e:

print e.message

finally:

if session:

session.close()

return ret

def post(url,data,params=None,cookie=None,header=None, verify=False,proxies=None):

# 建立会话

session = requests.session()

# 设置返回内容

ret = {'issuccess':False}

try:

if params:

session.params = params

if cookie:

session.cookies = cookie

if header:

session.headers = header

if verify == True:

session.verify = verify

if proxies:

session.proxies = proxies

rets = session.post(url=url,data=data,timeout=20,verify=verify)

if rets:

ret={'issuccess':True,'message':rets.content}

except Exception,e:

print e.message

finally:

if session:

session.close()

return ret

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.