使用python实现自动点赞(优化)

import requests
from lxml import etree
from concurrent.futures import ThreadPoolExecutor

# 使用 session 来复用连接
session = requests.Session()

# 公共的请求头
headers = {
   
}

params = {
   
}

# 爬取页面并获取链接
def get_page_urls(page):
    xhurl = f'https://xhcyv.com/category/acg/page/{page}'   #分区链接
    try:
        resp = session.get(url=xhurl, headers=headers).text
        tree = etree.HTML(resp)
        urls = tree.xpath('//div[@class="inn-archive__item__container inn-card_post-thumbnail__item__container"]/a/@href')
        return [url.split('/')[-1] for url in urls]
    except Exception as e:
        print(f"Error fetching page {page}: {e}")
        return []

# 发送 POST 请求
def post_data(post_id):
    try:
        data = f'------WebKitFormBoundary948aWGHc0Ar4BqoBrnContent-Disposition: form-data; name="postId"rnrn{post_id}rn------WebKitFormBoundary948aWGHc0Ar4BqoB--rn'
        response = session.post(url='https://xhcyv.com/wp-admin/admin-ajax.php', headers=headers, data=data, params=params)
        print(f"Response for {post_id}: {response.text}")
    except Exception as e:
        print(f"Error posting data for {post_id}: {e}")

# 主函数,使用多线程并发
def main():
    with ThreadPoolExecutor(max_workers=20) as executor:
        # 获取所有页面的链接
        futures = [executor.submit(get_page_urls, page) for page in range(1, 5)]    #爬取页码数
        post_ids = []
        for future in futures:
            post_ids.extend(future.result())

        # 对每个链接的ID进行并发POST请求
        post_futures = [executor.submit(post_data, post_id) for post_id in post_ids]图片
        for future in post_futures:
            future.result()  # 等待所有请求完成

if __name__ == "__main__":
    main()

11/9 详细教程在https://loliacg.top/2024/11/09/%E8%8A%AF%E5%B9%BB%E5%88%B7%E8%B5%9E%E8%84%9A%E6%9C%AC/
 
//之前用别人的脚本点赞觉得有点麻烦,所有自己就写了一个,大致就是爬取某分区的所有文章链接,然后点赞
原创由 张下 原创发布于 芯幻,转载请注明出处

讨论区17

  • 9nnnnnnLv.2#11 ·

    教程的网站似了

  • 大大凤
    大大凤Lv.3#10 ·

    所以还能用吗

  • 菠萝面包
    菠萝面包Lv.5#9 ·

    朋友们,提醒一下,每一次执行完,记得更改分区链接和页码数

  • 人类观察员Lv.1#8 ·

    你已经赞过了,然后进入对应“赞过”的页面发现没有被赞

  • gffffLv.3#7 ·

    这难道就是五步之内必有解药吗

  • 吹风xLv.5念#6 ·

    链接里的三张图片两张没了,能录个视频吗大佬 [11]

    • 张下Lv.4:图片现在可以正常显示了,教程里面已经很详细了
  • 张下Lv.4楼主#5 ·

    教程在 https://loliacg.top/2024/11/09/%E8%8A%AF%E5%B9%BB%E5%88%B7%E8%B5%9E%E8%84%9A%E6%9C%AC/

    • convenietLv.2:感谢教程 就卡在设置cookie和header这部分了 不知道怎么查cookie [去世]
    • convenietLv.2:大佬 还有个问题请教一下 全部按教程设置好了还是会报一个{"code":10005,"data":{},"msg":"参数错误,更多的信息见文档。"}这个问题
    • 张下Lv.4 回复 conveniet:把curl转py里的data值替换到post_data函数内,记得把里面的文章id换成post_id,还有问题去loliacg问我,芯幻我不常看
  • convenietLv.2#4 ·

    哥们你这代码双引号单引号怎么都是中文啊

    • 张下Lv.4:不知道,粘贴上去就变了 [去世]
  • kkgb23
    kkgb23Lv.1#3 ·

    所以这个要怎么用 [土豆服务器]

    • 张下Lv.4:后续我会发具体教程的,可在loliacg.top查看
  • 尼古拉赵四Lv.2#2 ·

    要是github自动流程就爽了,以前用过其它网站的签到。后来死了

  • 丸户史明
    丸户史明Lv.5#1 ·

    好家伙,在芯幻发布芯幻爬虫脚本()