zoukankan      html  css  js  c++  java
  • 自动登录 点赞 评论 抽屉网

    import requests
    from bs4 import BeautifulSoup
    
    
    #先向主页发送请求,获取点赞目标用户id
    
    headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36"
    }
    
    base_url = "https://dig.chouti.com/all/hot/recent/{}"
    
    for line in range(1,121):
        index_url = base_url.format(line)
        #反爬 需要通过all/hot/rencent/作为主页的入口
        index_res = requests.get(index_url,headers = headers)
        #访问主页返回的cookies
        index_cookies= index_res.cookies
    
        #解析提取用户的id
        soup = BeautifulSoup(index_res.text,"lxml")
        div = soup.find_all(name="div",attrs={"class":"part2"})
        for line in div:
            new_id = line.attrs["share-linkid"]
            nice_url = "https://dig.chouti.com/link/vote?linksId=%s"%new_id
    
    
            #登录
            login_url = "https://dig.chouti.com/login"
    
            data = {
                'phone': '8615016868647',
                'password': 'DKC19960413',
                'oneMonth': '1'
            }
            login_res = requests.post(login_url,data=data,headers=headers,cookies=index_cookies)
    
            #登录成功返回9999 登录失败访问主页
            '''
             
            {"result":{"code":"9999", "message":"", "data":{"complateReg":"0","destJid":"cdu_55906084308"}}}
            '''
            print(login_res.text)
    
            header2 = {
                'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36',
                # referer必须填上一次发送请求的https://dig.chouti.com/all/hot/recent/1
                'referer': 'https://dig.chouti.com/all/hot/recent/1'
            }
            #3点赞 cookies携带的是第一次发送请求的https://dig.chouti.com/all/hot/recent/1页面
            nice_res = requests.post(nice_url,headers = header2,cookies=index_cookies)
            print(nice_res.text)
    
            #4评论
            #请求url
            commit_url = "https://dig.chouti.com/comments/create"
            commit_data = {
                'jid': 'cdu_55906084308',
                'linkId': new_id,
                'isAssent': "",
                'content': 'tank 到此一游',
                'sortType': 'score'
            }
            commit_res = requests.post(
                commit_url,headers=header2,cookies=index_cookies,data=commit_data
            )
    
            print(commit_res.text)
            import time
            time.sleep(8)
    - 自动登录抽屉新热榜并自动点赞与评论

    - 先清除浏览器缓存信息

    - 打开开发者模式进行通信流程的分析:
    鼠标右击 ---> 点击检查 ---> network ---> preserver log、disable cache
    - all: 所有的请求
    - xhr: ajax异步请求

    一 主页:
    请求url:
    https://dig.chouti.com/

    请求方式:
    GET

    请求头:
    cookie
    user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

    二 登录页面
    - 错误登录
    请求url:
    https://dig.chouti.com/login

    请求方式:
    POST

    请求头:
    referer: https://dig.chouti.com/
    user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

    请求体:
    phone: 8615016868641
    password: DKC19960413
    oneMonth: 1

    - 正确登录
    请求url:
    https://dig.chouti.com/login

    请求方式:
    POST

    响应头:
    set-cookie


    请求头:
    referer: https://dig.chouti.com/
    user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

    请求体:
    phone: 8615016868641
    password: DKC19960413
    oneMonth: 1

    - 登录成功后直接访问抽屉 主页
    https://dig.chouti.com/
    referer: https://dig.chouti.com/


    三 分析点赞
    请求url:
    https://dig.chouti.com/link/vote?linksId=26331621
    https://dig.chouti.com/link/vote?linksId=26331306
    26331621

    请求方式:
    POST

    请求头:
    cookie
    referer: https://dig.chouti.com/
    user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36


    1.获取点赞目标用户ID
    <div class="part2" share-linkid="26332241" >

    2.拼接url并发送POST请求

    评论:
    请求url:
    https://dig.chouti.com/comments/create

    请求方式:
    POST

    请求头:
    cookie
    referer: https://dig.chouti.com/all/hot/recent/1
    user-agent

    请求体:
    jid: cdu_55906084308
    linkId: new_id
    isAssent: ""
    content: tank
    sortType: score
  • 相关阅读:
    P2P之UDP穿透NAT的原理与实现
    Jmeter压力测试工具安装及使用教程
    整合Solr与tomcat以及第一个core的配置
    windows下Redis安装及利用java操作Redis
    spring整合Jersey 无法注入service的问题
    MySQL-Navicat连接MySQL出现1251或1130报错的解决方法
    华为VRP
    开发工具-Sublime
    服务器-Windows 2003 R2-取消多用户登录-多个用户登录显示不同的界面解决方法
    服务器-惠普 HP ProLiant-linux系统-RAID信息查看和阵列卡操作-hpacucli工具使用
  • 原文地址:https://www.cnblogs.com/tangda/p/10950331.html
Copyright © 2011-2022 走看看