最详细爬虫零基础教程06——post请求和模拟登录


前言

本文主要介绍一些网络的请求方式和cookie池的使用。


一、请求方式

  1. get:直接向我们的服务端请求资源响应(数据)
  2. post:首先携带数据给服务器,然后再得到提交数据之后的资源响应
    区别:如果用get进行传参的时候,不能很好的保护数据,post请求优势:安全,载体方便。

二、cookie

在python中,cookie是一种用于在客户端和服务器之间传递数据的方式。当用户访问一个网站时,服务器可以通过设置cookie将一些数据存储在用户的浏览器中。浏览器将在之后的每次请求中自动将这些cookie信息发送给服务器,以便服务器可以识别和跟踪用户。cookie通常用于存储用户的会话信息、个人偏好设置、购物车内容等。在python中,可以使用标准库中的http.cookiejar模块来处理和管理cookie。

使用浏览器访问会自动带上cookie,但是使用爬虫进行访问的时候不会自动带上Cookie
cookie——会话记录,记录着你的客户端和服务器进行交互的信息
当我们填入了一次用户名和密码的时候,都会被记录在cookie中,当我们第二次登录网站的时候,一般不用再次输入用户名和密码
爬虫程序中并没有带有登录成功信息
但是如果我们的爬虫程序自带上cookie,那么就会登录成功 

1.利用cookie抓取登录之后的页面

代码如下(示例):

import requests
if __name__ == '__main__':
    url_ = 'https://music.163.com/playlist?id=7681354956'
    # 第一种添加cookie的方法,直接以键值对的方法放到headers中
    headers_ = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1',
        'Cookie': 'NMTID=00OwpRYSf12NKchDUdBtcPMgv2r6AwAAAGOOD4B-A; _iuqxldmzr_=32; _ntes_nnid=ec4d8d359b89ce00d6be8cf6ae4dd673,1710340572354; _ntes_nuid=ec4d8d359b89ce00d6be8cf6ae4dd673; WM_NI=zp6RS0J3y9jAPH1FS%2Bp5641mdtpnRxeQVuzDRMiqcB%2BXdohgNvJRsrWwi%2FZnF1zy%2BKx1JD7xwClUHJxTXCigZ%2FZLFrKvVK%2FoctOJmvLIOW%2FS2OPKzVNDc9DZ0ISE9dL2Njk%3D; WM_NIKE=9ca17ae2e6ffcda170e2e6ee8bb260f3878782c44191eb8eb2d15a879e9e87d12196af8ab5aa6897baa5b4ef2af0fea7c3b92abab0fab3d23c8aedb7dae94b9498ffa7d221b4ebfad5b467a8acc08fd174a78f9a96f9509293a792e24ae988ac90eb6d8eaa86b3f27a95a9a7d0d96686efb69aaa41bcef86a5b674b59da4b6cb42bc8c98a4ec6d9af196adc57a89aa9aacae65a1ac81abf07e909781b8ae59f291a0acf95e8e9caddac752f4979da6bc7090ee828bea37e2a3; WM_TID=dDV8nP1ipzNFUVQVEELV6AqQTvgFe1Dg; WEVNSM=1.0.0; WNMCID=jdpgzp.1710340575038.01.0; sDeviceId=YD-11c%2FZKMi3DdERhRAFRKR%2BA6EX7wH6p%2FT; ntes_utid=tid._.PBKv5sidqrRBRkQFBUOEuR6UGqgDqn6e._.0; __snaker__id=gKoykPYgndjs3SGF; __csrf=c378773465059d3d800a0a9a7211fd54; MUSIC_U=0064E14DE072303CF55401A54E23018AE7B0A4883FD84B7846E08CF581B8ECD40EBA60C073B2738D2804EA5851265AA40790F77A6B526196C794B767BEA7F074FE820410BBA767981212A62E9322399FC8045E9AC3A8BBFC6EB761E2E378EE3007A02713774865E1BBF19CE6E809E3A6C5E470641A5360DA7D11D226BE984CE8C6C81F8B63313A4DB32B9B33796492DF59EA840FBBB5C17ADE4A150EB8C5366FD149C283D8A8B65D5816175F820582F5DDD0A56AD734B2BD05C885271BEBD11F7CE3B89554DAED4F6270004A6EEBBD910FE359D1B7DB96CAE7E0008982EB4636B3558F3E0B43DC0AB38A7DE11AC7BB7B5F94DDCE4674BCE1E3E1BCBF03B708566CFF09C49B63A31992A63541CE5A70CC1BC252D260E34DE4CF87465B556431FEA3407C30DF7DCF3A978B70531BC0E5628A0E0E8D6027DBCF5CEC150EC0125A41FFAAC4BB33125D53B48549900B7BC4F54C0C45F7A914B26E455AD84FD372ECE2C686446D090084DAB823500CC62C3CF2DC; __remember_me=true; ntes_kaola_ad=1; gdxidpyhxdE=5NEkDSt9y%5CPhoY0NhyLc6Xap29z5Jo7cWsz%2ByKUlCY%2FVcxc2xau%2BTYrspQ%5CZttSkBO1xvk7UGcMyxRK0%5CojiKH0X97Z2Repfrt499hWifbnQ%2Bnffh0AqMwjQKe8VG8CXEW7zRztGak03tPmcs2B3CLUOc04q61%2FtApLvRMW%2F6q7CpykI%3A1710396660185; JSESSIONID-WYYY=J09lF1o%2FDjiB3EZgvTpNf6cyOvAftbib8%2BvU2Ebd7IXSnOrSfX0vUbKDS9dunZHtVk7RkXG%2FF%2FxoTaFfOVBw5MGCeC%5CdHG9XJk9JYgagrcyPUJ2YRP6yfyA4ybDK3noqFmW8AhAaq4btuWF3kc1tVtZ7c%5CUOTUKzOB2ATOYXh272HMMQ%3A1710405051510'
    }
    response_ = requests.get(url_, headers=headers_)
    str_data = response_.content.decode('utf-8')  # 结果:用户登录信息错误
    print(str_data)

2.单独构建cookie

代码如下(示例):

import requests
# 2.第二种添加Cookie的方式,单独构造一个字典
if __name__ == '__main__':
    url_ = 'https://i.taobao.com/my_taobao.htm?nekot=dGIwMTMwODQyMjA=1710407843402'
    # 第一种添加cookie的方法,直接以键值对的方法放到headers中
    headers_ = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1',
    }
    cookie_ = {
        'Cookie': 'cna=WtJ1Hiz3zQgCAToTS93Wd6rV; mtop_partitioned_detect=1; _m_h5_tk=e21bbb1e1ee5e8c43aa0ffeadb0943a7_1710415508138; _m_h5_tk_enc=312f5543445bf20cd5a4aa43f612d213; cookie2=10999d609faa5dc396cf9245c3949de2; t=6f8d010f2b0c1798cd49698dd4c3517a; _tb_token_=531efd7333639; _samesite_flag_=true; xlly_s=1; 3PcFlag=1710407803403; sgcookie=E100pT8K81Xbb80NAqkcuj6JnaLTiAmzr4IVtVChPfruYmRUtreQVNU9uYAUFYmiXea2sV%2B9yPTwZ0NNqpdFnWUQRYV1t1QHTzjHffOlNeOxn1o%3D; uc3=nk2=F5RFgY77uC2X5yY%3D&id2=UUphzOSGTb3J19A0%2FA%3D%3D&vt3=F8dD3eneSq1kPt9CA6o%3D&lg2=VFC%2FuZ9ayeYq2g%3D%3D; csg=0f80cad4; lgc=tb013084220; cancelledSubSites=empty; dnk=tb013084220; skt=387a43dac39ffac3; existShop=MTcxMDQwNzg0Mw%3D%3D; uc4=nk4=0%40FY4O6GYbVmEK%2BxTk%2BMWKuH9o5%2BVXQQ%3D%3D&id4=0%40U2grF89BQ3BkN4NdqY1Gnm58wfOaMDjW; tracknick=tb013084220; _cc_=V32FPkk%2Fhw%3D%3D; uc1=cookie14=UoYfobte0jHr3Q%3D%3D&cookie16=WqG3DMC9UpAPBHGz5QBErFxlCA%3D%3D&pas=0&existShop=false&cookie21=V32FPkk%2FgPzW; tfstk=eiDeXVqTAppE_gIjT52zgLAhVK2LU-LX4Ya7q0muAy4nO0quUV0WvyikJ4kzSVSBJzOKz7uSW707PDsK6qicdvOLFTyLe8YXlK9bADe8ESIhOpnpSe8aIE9XhDA3v8iMlHFjDXSnok1pPMPyom4iC0wiHUX0bPWl3iEUtk9Y7TXmQkoaoDAOETDaYWSzTaEMO-H-TafztlEalh-a41d08xYxPvfRwWhTbrtpv_C8tlEalh-Nw_FLBlzXvHC..; isg=BBAQzdLPQWEGQB15Kdvnd75O4V5i2fQjyEHEMQrhwms-RbDvsum_s39_HQ2llaz7'
    }
    response_ = requests.get(url_,headers=headers_,cookies=cookie_)
    str_data = response_.text
    print(str_data)

3.利用post请求

if __name__ == '__main__':
    url_ = 'https://login.taobao.com/newlogin/login.do?appName=taobao&fromSite=0&_bx-v=2.5.3'
    headers_ = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1',
    }
    # post模拟登录,就不需要cookie
    # 携带数据(form表单里面携带)
    form_data = {
        "loginId": "xxxxxxx",  # 账号名
        "password2": "xxxxxxx",   # 密码
        "keepLogin": "false",
        "isIframe": "false",
        "banThirdPartyCookie": "false",
        "documentReferer": "https://www.taobao.com/",
        "defaultView": "qrcode",
        "ua": "140#FTTDwHirzzPsRQo2L5LTA6SogFGwDCp8pC3/zf9x65lLsdn+GY7/qo0nuemmjXKic8+QB8C3tsgw7lHfmyOjWoHM6rbfT6hqzzn7qL+qvLMzzZFJ9jnqlbrz2DD3V3gqzJZnOgbhaHSrxPrbL8/qlbr24DP+V6QexFnp2X8+lbfoztrivR5Eqb3c2MaK4u7LwZ3jhjmijDapVChEFvp4pN4EgALgZl9Uz/9hrPTOPDthorF48Hrhvvp6UJCpEXykJrMI66MGiRmoFPJyc5KQIyP+eOhILRW20hIkyIPhUKhmfVjebyqVvjecVec/PHQr6Dof3SzawhWLfH2FcW2XSbLhlzOoENwtY9GZcmr4oBofwTH68+LiWwf17x5Fem75nHWgqzHniM60+9A5SBUVgzQonXzVvDcHuNkniJZtvELUtuFjNocPu2OlBtBWOXFyq5LFhusCMVVA/3qHelXOFtxn9UrOSLl7e5xcx+VFr2MhFNAUc5tiU7ULgjlZSc6PCFNZN3BSmBFLN4/muvW0zlRlRArAIOacXmtKU5+rKcbg38HyvxkIA51iKsT8qBPN9JKYk3dRIYMHpM2nQhXi481txgLT463kEq+yRSu9dMRM/IrvlXY/5iHbeAbg4uEL9GKr6IHThsvYHl4WfZRY7+NimyRZM+2tKAmHJHPGpcGv8nvZ9UswP8bEZJ+bT+Z7HCigKZlvTWg8cGX46TYg33aprOUXRavWV2cTLv8MolaP92DUBsbdM6i7VTsofM1BUcbMvyY/twByPrQ0lrszoNGI5APIOcqviklawRbLEp7G1Q6D4BfoVhMJZkR7oKz66uliUVBCYa2kTeN0uJCQyGemDxlgaMTOwV6I5xxW763ZjS3EoPRV8OjWdbb0j4sgoDdGn2gWBSIi+uAQ+Mq2KdoeJqu3RE+a+431X9bo1eFQbgZW9wQqSDyjuZB4RwcrkfGJ21PmsjyQ9jww520w4Jqfo2fUCYIljKaKFI0AE0UUbFqRTXTVhXIbAOi0krggc/U+Zrtzk24kSccp0eXKDfNJ1tblcj2ZkzSNlgMWgcHIe/bezq2c4djCV6UOCuEb4ZzKd2ThbDHajmUPpQwyYIQDrPjw9AmF1DDZz2y6IZA5uQ62eubd4l128P/ZjowjdwcxKdqTwvu=",
        "umidGetStatusVal": "255",
        "screenPixel": "1536x864",
        "navlanguage": "zh-CN",
        "navUserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0",
        "navPlatform": "Win32",
        "appName": "taobao",
        "appEntrance": "taobao_pc",
        "_csrf_token": "xKTQpFxcdQ02XVQqR6Lh61",
        "umidToken": "227d6a5165e028974cb27fc1e976df231dbc2cb3",
        "hsiz": "10999d609faa5dc396cf9245c3949de2",
        "bizParams": "renderRefer=https%3A%2F%2Fwww.taobao.com%2F",
        "mainPage": "true",
        "style": "default",
        "appkey": "00000000",
        "from": "tbTop",
        "isMobile": "false",
        "lang": "zh_CN",
        "returnUrl": "https://www.taobao.com/",
        "fromSite": "0",
        "umidTag": "SERVER",
        "weiBoMpBridge": "",
        "deviceId": "",
        "pageTraceId": "21080c4f17104054323202965d1435",
        "bx-ua": "227!SSiSphi/H3ksE9DqvSf6bDudZ P4JL9j4lPPOibZCSQWntR3SCcTpsrUoggE9O3aPEMwCSPE8mJMtS3Oe8xcJPWY6 o1wHRenHEueEjypCASntkk VnL3SIb  TfrYvCnX77XsvH7UYb4o4pQwonAXHA2qeXmzMinHEVOmv3ehuofy2Jikn13DmWqmgHmppinHPkqfvHaRbgh70Ke8lnODlzqKiHDppinXPPOfHhuUT2RbR8mxnD3Xlz6mVXXpWp6fE4O J2a7mWnok8rJnI3DXWFmfXDpMmnHPB5kvHaRKWnoR8mxnIfXlzFmwHiZMqjHPPOJnXOEHWnoR8mpSx3G9x5kfCy0vgT3V87Z3d/FeviKF6gJzDznPw5k9iy3WlzA hgVSAJtXN5Q9igsrDcRCHgG3pBIVHHcNuMj3RdFjZ13vysqO20 35JnQ/KhPl/2PtJlS9Eix/oVgW5N0VgaLNFjBobNVdE7ap4WWtdULLAPGUpS5etY5W0jx4i3cUeAEsUIif/j7ohS2j2qNZbDJUVrN69mixpnv/ SBAu48FMRl97NOXtw/iQP N2UW2fOtaUCvcDzfba0OM67cepmYaE/0fjSOp3a06643h0QgDwtpd3CCmsD5fmiuqwutppTvypm1VMeuGm0vRv22Ii0Ibf NzCydOH0t7O0Uql7HvR7Dx4z2AIwW8wDWPhZ WdgX24KUTQq3j3nZ6bh0jfKVk104pxmIGaOK4W6J ygATWhzNNECDDUJJo7vIfCTG5R6/Ol1wRPkxFRqaRMBa8b6GYM0mRTM oKryDB/Y5N/HuF11FqvZU8ZsR3qTRrbca5U0QkYnCo9g9YmrtuJn5kusebaIvPHCewugWYgHChFDEYjSt3JrhqBrNjDuH/BRjCCGLER0KW8vRKIPyk2dYtECy9kKW4hGJrBLDHTKotAKz/VOETeD3oLgUUAxg4KLMDJc4F7qHZyUG0wfcmrEsquN5SBNwgdmvuCpkv/QGzUEJLAKEAp0QopdYI4QySXE4DqlLgty4l/EmeC1TVi/DZjBN6MHb90IiLYOvq/X//tFMsuvkd5AMtsiteK6YS2EdBUEg67019nNO3wothMIaKw2Rqdhv9oE0KKIo6wxbO1o1HfgQD4bWBJLtr36XPc72eC99IUheUF1UrVa81aTv7vnmcRIMxBSaDhYQycaD9tQbC6ofu5wbAgtfml i5XzZHVHGpMm14MCY5jm9f7cFU0sVd6tUxZVsjVld4CmnhiUpl7/NFVJuGMiRe4c93rrbeDTd60fFWc7FjihNPMIEnLuiXovERtVsXQ0G3WGyC1ytqpd0Fxy8KYt MWYjSTH2gw5qlMgspB9q38J/j9rxIfX62tiU4wJljWlYl107RI Tuvf42a5 V/7dRlBfVuQEROi0PlXmsH1ei==",
        "bx-umidtoken": "G7AE741F7C7764EE0F8BCF862EF47DC62234E5E41F8EFA88EE8"
    }
    response_ = requests.post(url_, headers=headers_, data=form_data)
    str_data = response_.text
    print(str_data)

使用post请求模拟登录的好处:
cookie也能够拿到登录过后的数据,每次都要去现拿,并且存在过期的问题,但是如果使用post的话就不会存在过期的问题

三、session

问题:

  1. 使用登录过后的cookie 直接使用get 但是是有有效期的
  2. 使用post模拟登录 登录一次
    但是如果要抓取10次的话 太过麻烦 而且容易被检测到是非正常用户 从而被封禁账号

解决办法

首先用post请求模拟登录,我们就可以拿到最新的cookie,然后再拿着这个cookie用get请求不同的页面,而session可以规避掉这两种方法的弊端

import requests
if __name__ == '__main__':
    login_url = 'https://login.taobao.com/newlogin/login.do?appName=taobao&fromSite=0&_bx-v=2.5.3'
    headers_ = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1',
    }
    form_data = {
        "loginId": "xxxxxxxxx",
        "password2": "xxxxxxxxxx",
        "keepLogin": "false",
        "isIframe": "false",
        "banThirdPartyCookie": "false",
        "documentReferer": "https://www.taobao.com/",
        "defaultView": "qrcode",
        "ua": "140#FTTDwHirzzPsRQo2L5LTA6SogFGwDCp8pC3/zf9x65lLsdn+GY7/qo0nuemmjXKic8+QB8C3tsgw7lHfmyOjWoHM6rbfT6hqzzn7qL+qvLMzzZFJ9jnqlbrz2DD3V3gqzJZnOgbhaHSrxPrbL8/qlbr24DP+V6QexFnp2X8+lbfoztrivR5Eqb3c2MaK4u7LwZ3jhjmijDapVChEFvp4pN4EgALgZl9Uz/9hrPTOPDthorF48Hrhvvp6UJCpEXykJrMI66MGiRmoFPJyc5KQIyP+eOhILRW20hIkyIPhUKhmfVjebyqVvjecVec/PHQr6Dof3SzawhWLfH2FcW2XSbLhlzOoENwtY9GZcmr4oBofwTH68+LiWwf17x5Fem75nHWgqzHniM60+9A5SBUVgzQonXzVvDcHuNkniJZtvELUtuFjNocPu2OlBtBWOXFyq5LFhusCMVVA/3qHelXOFtxn9UrOSLl7e5xcx+VFr2MhFNAUc5tiU7ULgjlZSc6PCFNZN3BSmBFLN4/muvW0zlRlRArAIOacXmtKU5+rKcbg38HyvxkIA51iKsT8qBPN9JKYk3dRIYMHpM2nQhXi481txgLT463kEq+yRSu9dMRM/IrvlXY/5iHbeAbg4uEL9GKr6IHThsvYHl4WfZRY7+NimyRZM+2tKAmHJHPGpcGv8nvZ9UswP8bEZJ+bT+Z7HCigKZlvTWg8cGX46TYg33aprOUXRavWV2cTLv8MolaP92DUBsbdM6i7VTsofM1BUcbMvyY/twByPrQ0lrszoNGI5APIOcqviklawRbLEp7G1Q6D4BfoVhMJZkR7oKz66uliUVBCYa2kTeN0uJCQyGemDxlgaMTOwV6I5xxW763ZjS3EoPRV8OjWdbb0j4sgoDdGn2gWBSIi+uAQ+Mq2KdoeJqu3RE+a+431X9bo1eFQbgZW9wQqSDyjuZB4RwcrkfGJ21PmsjyQ9jww520w4Jqfo2fUCYIljKaKFI0AE0UUbFqRTXTVhXIbAOi0krggc/U+Zrtzk24kSccp0eXKDfNJ1tblcj2ZkzSNlgMWgcHIe/bezq2c4djCV6UOCuEb4ZzKd2ThbDHajmUPpQwyYIQDrPjw9AmF1DDZz2y6IZA5uQ62eubd4l128P/ZjowjdwcxKdqTwvu=",
        "umidGetStatusVal": "255",
        "screenPixel": "1536x864",
        "navlanguage": "zh-CN",
        "navUserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0",
        "navPlatform": "Win32",
        "appName": "taobao",
        "appEntrance": "taobao_pc",
        "_csrf_token": "xKTQpFxcdQ02XVQqR6Lh61",
        "umidToken": "227d6a5165e028974cb27fc1e976df231dbc2cb3",
        "hsiz": "10999d609faa5dc396cf9245c3949de2",
        "bizParams": "renderRefer=https%3A%2F%2Fwww.taobao.com%2F",
        "mainPage": "true",
        "style": "default",
        "appkey": "00000000",
        "from": "tbTop",
        "isMobile": "false",
        "lang": "zh_CN",
        "returnUrl": "https://www.taobao.com/",
        "fromSite": "0",
        "umidTag": "SERVER",
        "weiBoMpBridge": "",
        "deviceId": "",
        "pageTraceId": "21080c4f17104054323202965d1435",
        "bx-ua": "227!SSiSphi/H3ksE9DqvSf6bDudZ P4JL9j4lPPOibZCSQWntR3SCcTpsrUoggE9O3aPEMwCSPE8mJMtS3Oe8xcJPWY6 o1wHRenHEueEjypCASntkk VnL3SIb  TfrYvCnX77XsvH7UYb4o4pQwonAXHA2qeXmzMinHEVOmv3ehuofy2Jikn13DmWqmgHmppinHPkqfvHaRbgh70Ke8lnODlzqKiHDppinXPPOfHhuUT2RbR8mxnD3Xlz6mVXXpWp6fE4O J2a7mWnok8rJnI3DXWFmfXDpMmnHPB5kvHaRKWnoR8mxnIfXlzFmwHiZMqjHPPOJnXOEHWnoR8mpSx3G9x5kfCy0vgT3V87Z3d/FeviKF6gJzDznPw5k9iy3WlzA hgVSAJtXN5Q9igsrDcRCHgG3pBIVHHcNuMj3RdFjZ13vysqO20 35JnQ/KhPl/2PtJlS9Eix/oVgW5N0VgaLNFjBobNVdE7ap4WWtdULLAPGUpS5etY5W0jx4i3cUeAEsUIif/j7ohS2j2qNZbDJUVrN69mixpnv/ SBAu48FMRl97NOXtw/iQP N2UW2fOtaUCvcDzfba0OM67cepmYaE/0fjSOp3a06643h0QgDwtpd3CCmsD5fmiuqwutppTvypm1VMeuGm0vRv22Ii0Ibf NzCydOH0t7O0Uql7HvR7Dx4z2AIwW8wDWPhZ WdgX24KUTQq3j3nZ6bh0jfKVk104pxmIGaOK4W6J ygATWhzNNECDDUJJo7vIfCTG5R6/Ol1wRPkxFRqaRMBa8b6GYM0mRTM oKryDB/Y5N/HuF11FqvZU8ZsR3qTRrbca5U0QkYnCo9g9YmrtuJn5kusebaIvPHCewugWYgHChFDEYjSt3JrhqBrNjDuH/BRjCCGLER0KW8vRKIPyk2dYtECy9kKW4hGJrBLDHTKotAKz/VOETeD3oLgUUAxg4KLMDJc4F7qHZyUG0wfcmrEsquN5SBNwgdmvuCpkv/QGzUEJLAKEAp0QopdYI4QySXE4DqlLgty4l/EmeC1TVi/DZjBN6MHb90IiLYOvq/X//tFMsuvkd5AMtsiteK6YS2EdBUEg67019nNO3wothMIaKw2Rqdhv9oE0KKIo6wxbO1o1HfgQD4bWBJLtr36XPc72eC99IUheUF1UrVa81aTv7vnmcRIMxBSaDhYQycaD9tQbC6ofu5wbAgtfml i5XzZHVHGpMm14MCY5jm9f7cFU0sVd6tUxZVsjVld4CmnhiUpl7/NFVJuGMiRe4c93rrbeDTd60fFWc7FjihNPMIEnLuiXovERtVsXQ0G3WGyC1ytqpd0Fxy8KYt MWYjSTH2gw5qlMgspB9q38J/j9rxIfX62tiU4wJljWlYl107RI Tuvf42a5 V/7dRlBfVuQEROi0PlXmsH1ei==",
        "bx-umidtoken": "G7AE741F7C7764EE0F8BCF862EF47DC62234E5E41F8EFA88EE8"
    }
    # 如果想要自动携带登录过后的cookie,那么就需要封装一个新的发送请求的对象
    session_ = requests.session()
    # 这一步的目的就是为了让session_携带上最新的cookie
    session_.post(login_url,headers=headers_,data=form_data)  # 这里可以不接收响应对象
    cart_url = 'https://cart.taobao.com/cart.htm?spm=a1z02.1.a2109.d1000367.3htGcw&nekot=1470211439694'
    response_ = session_.get(cart_url,headers=headers_)
    str_data = response_.text
    print(str_data)

四、cookie池

在Python中,Cookie池是一种用于管理和维护多个Cookie的机制。通常情况下,使用Cookie池可以实现以下功能:

  1. 自动管理和更新Cookie:Cookie池可以自动管理和更新多个Cookie,确保每个请求都使用有效的Cookie。

  2. 防止被封禁:通过使用多个Cookie,可以避免频繁请求而导致被服务器封禁的情况。

  3. 多账号登录:使用Cookie池可以方便地实现多个账号的登录和切换。

首先,需要创建一个Cookie池,然后在发送请求时,从Cookie池中选择一个合适的Cookie,设置到请求头中。如果当前使用的Cookie已经失效,可以从Cookie池中选择一个新的有效Cookie。

import random
import requests

cookies = [
    {'name': 'cookie1', 'value': 'value1'},
    {'name': 'cookie2', 'value': 'value2'},
    {'name': 'cookie3', 'value': 'value3'},
    # ...
]

def get_random_cookie():
    return random.choice(cookies)

def send_request():
    url = 'http://example.com'
    headers = {
        'Cookie': f"{get_random_cookie()['name']}={get_random_cookie()['value']}",
    }
    response = requests.get(url, headers=headers)
    # 处理响应

send_request()

那么关键的问题来了,我们如何获取cookie呢?

博主提供以下的两种方法:(其实没什么好方法)
1.发送周围的人帮你注册
2.花动金钱的力量(某网站上购买)


总结

本文所讲的内容对后面的学习用处比较大,希望可以多花时间进行阅读学习!

过去的价值不代表未来的地位。

  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莘薪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值