抽屉网点赞爬虫

Posted fengbo1113

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽屉网点赞爬虫相关的知识,希望对你有一定的参考价值。

import requests
from bs4 import BeautifulSoup
import time


user_cookie = ""
# 注意:抽屉网    cookies中的gpsd是最要的验证数据
def login(phone_id, phone_pwd):
    global user_cookie
    # 因为抽屉的cookie设置比较特别,其cookie为未登录状态下的cookie通过登录成功来进行验证,从而认证为登录状态下的cookie
    r1 = requests.get(
        url= https://dig.chouti.com/,
        headers = {
            User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/68.0.3440.106 Safari/537.36,
        }
    )
    user_cookie = r1.cookies.get_dict()

    r2 = requests.post(
        url= https://dig.chouti.com/login,
        headers = {
            User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36,
        },
        data = {
            "phone": "86%d" % int(phone_id),
            "password": phone_pwd,
            "oneMonth": 1
        },
        cookies = user_cookie
    )
    # 返回认证后的cookie
    return user_cookie

def thumbsup():
    # 抽屉新热榜只有120页
    i=1
    while i <= 120:
        r3 = requests.get(
            url= https://dig.chouti.com/all/hot/recent/%d% i,
            headers = {
                User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36,
            },
            cookies = user_cookie,
        )
        print("正在给第%d页点赞" % i,)
        soup = BeautifulSoup(r3.text, html.parser)
        res_list = soup.find_all(name=div, attrs={class: item})
        for res in res_list:
            requests.post(
                url=https://dig.chouti.com/link/vote?linksId=%d % int(res.find(name=img).attrs[lang]),
                headers={
                    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36,
                },
                cookies=user_cookie
            )
            time.sleep(0.5)
        i+=1
        print("准备执行下一页...")


def main():
    login("手机号", "密码")
    thumbsup()


if __name__ == "__main__":
    main()

 

以上是关于抽屉网点赞爬虫的主要内容,如果未能解决你的问题,请参考以下文章

在导航抽屉关闭之前加载片段

导航抽屉活动:在按钮单击时从片段移动到片段

Django学习---抽屉热搜榜分析all

Python学习---抽屉框架分析[点赞功能分析]

如何在导航抽屉活动模板中的片段之间传递字符串变量

如何从片段返回主要活动