zoukankan      html  css  js  c++  java
  • 黑板客爬虫关卡之第三关

    链接:http://www.heibanke.com/lesson/crawler_ex02

     1 import requests
     2 from bs4 import BeautifulSoup
     3 
     4 url_1='http://www.heibanke.com/accounts/login'
     5 url_2='http://www.heibanke.com/lesson/crawler_ex02'
     6 
     7 
     8 data_1={}#手动创建的用户和密码
     9 data_1['username']='ybyb520'
    10 data_1['password']=123456
    11 data_1['csrfmiddlewaretoken']=''
    12 
    13 
    14 data_2={}#试探的用户和密码
    15 data_2['username']='yb'
    16 data_2['csrfmiddlewaretoken']=''
    17 data_2['password']=0
    18 
    19 s=requests.Session()#存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去
    20 
    21 s.get(url_1)
    22 data_1['csrfmiddlewaretoken']=s.cookies['csrftoken']#通过发链接获得csrfmiddlewaretoken的值
    23 
    24 s.post(url_1,data_1)#发送数据
    25 data_2['csrfmiddlewaretoken']=s.cookies['csrftoken']#得到另外一个csrfmiddlewaretoken,csrfmiddlewaretoken不是一直不变的,每次访问值都不同
    26 
    27 for i in range(0,30):#密码猜测
    28     data_2['password']=str(i)
    29     result=s.post("http://www.heibanke.com/lesson/crawler_ex02/",data=data_2)
    30     if result.text.find('错误') == -1:
    31         print('密码是:'+data_2['password'])
    32         break
    33     else:
    34         print(data_2['password']+'不是密码')
    35         continue
    36 """
    37 随着时间推移每次的密码都是不同的,下面是结果:
    38 
    39 0不是密码
    40 1不是密码
    41 2不是密码
    42 3不是密码
    43 4不是密码
    44 5不是密码
    45 6不是密码
    46 7不是密码
    47 8不是密码
    48 9不是密码
    49 10不是密码
    50 11不是密码
    51 12不是密码
    52 13不是密码
    53 14不是密码
    54 15不是密码
    55 16不是密码
    56 密码是:17
    57 
    58 """
  • 相关阅读:
    vuex 简单理解
    es2015(es6)学习总结
    工作资源知识点总结收集
    margin-top使用需要注意的地方
    关于用display:table让元素居中的小结
    display:table-cell
    margin:0 auto;不居中
    css选择器总结
    css 选择器优先级
    给行内元素加上绝对定位之后,元素属性的变化
  • 原文地址:https://www.cnblogs.com/yinbiao/p/8167162.html
Copyright © 2011-2022 走看看