python 模拟登陆并打开网页下载

来源:互联网 发布:淘宝退款和退货区别 编辑:程序博客网 时间:2024/05/11 09:55
import  requestsimport jsonimport timeimport http.cookiejarimport urlliblogin_url='https://www.zhihu.com/login/phone_num'header={            'User-Agent':            'Referer':            'Cookie':       }data={  'phone_num':        'password':        '_xsrf':        'captcha_type': }bcm_user=requests.Session()bcm_login=bcm_user.post(login_url,headers=header,data=data)if bcm_login.status_code==200:    print('登陆成功!')cookieJar_one=http.cookiejar.CookieJar()cookie_support=urllib.request.HTTPCookieProcessor(cookieJar_one)opener=urllib.request.build_opener(cookie_support)result=opener.open(这里写你的登录主页,例如微博主页)print(result.read().decode('utf-8'))    

下面解析代码

requests.Seesion()

建立对话,Seesion用来跨请求地保持某些参数,比如cookies,即在同一个Session实例发出的所有请求都保持同一个cookies,而requests模块每次会自动处理cookies,这样就很方便地处理登录时的cookies问题。在cookies的处理上会话对象一句话可以顶过好几句urllib模块下的操作

requests.Seesion.post(url,headers,data)

发送post请求,参数分别是登陆的网指,一般是登录界面的网址,headers是头部信息,一般在开发者工具可以看到,,data是表单数据