Python爬虫实战:QQ空间全自动点赞工具

动态爬虫之qzone空间自动秒赞 - qq空间自动点赞 动态爬虫之qzone空间自动秒赞 - qq空间自动点赞 步骤 1、分析列表请求 2、分析请求参数 3、分析点赞请求 4、分析点赞参数 5、编写执行代码 我们上次分析过动态爬虫之QQ好友列表获取 今天这篇继续按照上次的思路来,如果您看过我上篇建议您直接看参数按照以前的操作就好。 1、分析列表请求 首先我们还是打开这个网址https://h5.qzone.qq.com/mqzone/in... 阅读详情

QQ空间自动点赞

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:623406465

前景提要

因为我周围的小伙伴们天天跟我说的最多的一句话就是:空间第一条点赞。
所以说我还不如直接做一个自动点赞的代码呢,免得天天催我点赞。


目标确定

  • QQ空间秒赞

分析介绍

登陆获取cookie

首先既然是对 QQ空间的一系列操作,自然是先解决登陆方面,在这篇文章里面我就不过多介绍了,因为我上几期之前对QQ空间已经做了一定的介绍了。直接放出链接就好。欢迎看博主以前的文章

def search_cookie():
    qq_number = input('请输入qq号:')
    if not __import__('os').path.exists('cookie_dict.txt'):
        get_cookie_json(qq_number)
    with open('cookie_dict.txt', 'r') as f:
        cookie=json.load(f)
    return True
def get_cookie_json(qq_number):
    password = __import__('getpass').getpass('请输入密码:')
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    login_url = 'https://i.qq.com/'
    chrome_options =Options()
    chrome_options.add_argument('--headless')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get(login_url)
    driver.switch_to_frame('login_frame')
    driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()
    time.sleep(1)
    driver.find_element_by_xpath('//*[@id="u"]').send_keys(qq_number)
    driver.find_element_by_xpath('//*[@id="p"]').send_keys(password)
    time.sleep(1)
    driver.find_element_by_xpath('//*[@id="login_button"]').click()
    time.sleep(1)
    cookie_list = driver.get_cookies()
    cookie_dict = {}
    for cookie in cookie_list:
        if 'name' in cookie and 'value' in cookie:
            cookie_dict[cookie['name']] = cookie['value']
    with open('cookie_dict.txt', 'w') as f:
        json.dump(cookie_dict, f)
    return True
def get_g_tk():
    p_skey = self.cookie['p_skey']
    h = 5381
    for i in p_skey:
        h += (h << 5) + ord(i)
        g_tk = h & 2147483647

寻找XML

当我们拿到cookie信息和g_tk这个参数之后,继续去寻找空间好友动态的XML在何处。
首先点到XML位置一个个查找,发现有一个feeds3_html_more很像,点进去发现的确是我们要找的url链接。
XML位置

寻找可变参数

这个链接所需要的参数有很多,在这里列举出来

  • uin:
  • scope:
  • view:
  • daylist:
  • uinlist:
  • gid:
  • flag:
  • filter:
  • applist:
  • refresh:
  • aisortEndTime:
  • aisortOffset:
  • getAisort:
  • aisortBeginTime:
  • pagenum:
  • externparam:
  • firstGetGroup:
  • icServerTime:
  • mixnocache:
  • scene:
  • begintime:
  • count:
  • dayspac:
  • sidomain:
  • useutf8:
  • outputhtmlfeed:
  • rd:
  • usertime:
  • windowId:
  • g_tk:
  • qzonetoken:
  • g_tk:

这些参数中类似于可变参数的一共有五个。

  • qzonetoken
  • windowId
  • rd
  • usertime
  • g_tk
  1. qzonetoken 参数在源码中是个可变的“定值”,因为每次刷新这个参数都会变,但是源码中却给出了他的具体值。直接获取即可。

变量位置查找

def get_space():
    your_url = 'https://user.qzone.qq.com/' + str(qq_number)
    html = requests.get(your_url,headers=headers,cookies=cookie)
    if html.status_code == 200:
        qzonetoken = re.findall('window.g_qzonetoken =(.*?);',html.text,re.S)[1].split('"')[1]
    return True
  1. windowId 与 rd 虽说每次刷新结果都不同,但是经过博主多次实验得出,这两个参数对整体并没有什么影响,可以直接抄下来。
'rd': '0.9311604844249088',
'windowId': '0.51158950324406',
  1. usertime 参数看似很眼熟,是个时间戳参数,因为位数不对,说明应该是被放大了一千倍。
'usertime': str(round(time.time() * 1000)),
  1. g_tk 参数上次教程已给出。在JavaScript中分析即可获得。
def get_g_tk():
    p_skey = self.cookie['p_skey']
    h = 5381
    for i in p_skey:
        h += (h << 5) + ord(i)
        g_tk = h & 2147483647

获取第一个空间动态

我们拿到XML以及各个参数后,即可访问该网页获取其返回值了。
但是这个返回与其他的有一些不同的是,它不仅仅是个json文件,我们无法获取后直接转换成字典格式去给我们使用,这就很麻烦。
_Callback
我们获取字符串后,首先先将前后不一致的都切片扔掉,之后经过一系列处理后发现,我们很难将这个看似像json格式的字符串转换成字典。
在这里我继续介绍一个第三方库demjson。

demjson 可以解決不正常的json格式数据

demjson的使用方法很简单。

encode将 Python 对象编码成 JSON 字符串
decode将已编码的 JSON 字符串解码为 Python 对象
# 例子
# -*- coding: utf-8 -*-
import demjson
js_json = "{x:1, y:2, z:3}"
py_json1 = "{'x':1, 'y':2, 'z':3}"
py_json2 = '{"x":1, "y":2, "z":3}'
data = demjson.decode(js_json)
print(data)
# {'y': 2, 'x': 1, 'z': 3}
data = demjson.decode(py_json1)
print(data)
# {'y': 2, 'x': 1, 'z': 3}
data = demjson.decode(py_json2)
print(data)
# {'y': 2, 'x': 1, 'z': 3}

我们使用demjson直接将该字符串转换为耳熟能详的字典格式,提取其中的data的data,即为前八条动态的每个参数,但我们这里只要第一个说说的动态信息。

text = html.text[10:-2].replace(" ", "").replace('\n','')
json_list = demjson.decode(text)['data']['data']
qq_spaces = json_list[0]

我们拿到其信息后,先提取一些我们比较想知道的东西,比如名字、QQ号、发布时间、所获赞数、说说内容、说说地址等等结果。
在 qq_spaces 参数中我们发现里面有一个很长也很特殊的一个结果是 html 结果,这个结果里面很长,简单来看是个网页常规代码,应该是被JavaScript写入到网页中了,既然不是全部代码,那么只能用正则提取一下里面的具体我们需要的东西了。

content = str(qq_spaces['html'])
try:zanshu = re.findall('<spanclass="f-like-cnt">(.*?)</span>人觉得很赞</div>',content,re.S)[0]
except:return None
time_out = str(qq_spaces['feedstime'])
print("名字:"+str(qq_spaces['nickname']))
print("QQ号:"+str(qq_spaces['opuin']))
print("时间:"+time_out)
print('赞数:'+zanshu)
times = qq_spaces['abstime']
his_url = re.findall('data-curkey="(.*?)"',content,re.S)[0]

寻找点赞所需的URL

在QQ空间随便找个好友点个赞吧,这样我们才能接收到请求。
我们首先清空原来动态产生的抓包,直接点个赞发现关于dolike的url只有三个,第一个是个POST请求,应该是我们所需要的点赞网址。
点赞URL

寻找可变参数

我们获取到URL后,找到里面所需要的参数。发现一共有十一个参数,在这里猜测应该不存在加密参数。

  1. qzreferrer参数为自己QQ空间的网址,表示从哪里来的链接地址。
  2. opuin参数为自己的QQ号,可以直接在代码提取。
  3. unikey参数与curkey参数为被点赞方的链接,即说说链接,刚才已获取。
  4. abstime参数为被点赞方说说的发布时间的时间戳。
  5. fid参数为被点赞方的链接后缀。

既然参数没什么问题那就直接写代码吧。

def get_zan(times,his_url):
    data = {'g_tk': g_tk,'qzonetoken': qzonetoken}
    post_data = {
        'qzreferrer': 'https://user.qzone.qq.com/'+str(qq_number),
        'opuin': str(qq_number),
        'unikey': str(his_url),
        'curkey': str(his_url),
        'from': '1',
        'appid': '311',
        'typeid': '0',
        'abstime': str(times),
        'fid': str(his_url).split('/')[-1],
        'active': '0',
        'fupdate': '1'
    }
    url = 'https://user.qzone.qq.com/proxy/domain/w.qzone.qq.com/cgi-bin/likes/internal_dolike_app?'
    url = url + urllib.parse.urlencode(data)
    html = requests.post(url,headers=headers,cookies=cookie,data=post_data)
    if html.status_code == 200:print("点赞成功" if len(html.text) == 469 else "点赞失败")

功能提升到秒赞

因为树莓派并不是很不错的问题,这个代码做不到绝对的秒赞。

  1. 在本地建立一个文件,负责写入最后一条说说所产生的时间戳。
  2. 比对当前时间戳与空间第一条说说是否相同,若相同则无更新。
  3. 点赞后重写文件,以便下次使用代码即可秒赞。
def run_tolike():
    if os.path.exists('time_out.txt'):
        with open('time_out.txt','r') as f:
            time_out = f.read()
    else:time_out = None
    while True:
        get_friends_list()
        time.sleep(__import__('random').randint(0,5)) # 秒赞?
if not time_out or time_out != time_out:
    time_out = time_out
    get_zan(times,his_url)
    return True
else:log('说说无更新,等待中...')
with open('time_out.txt','w') as f:
    f.write(str(times))

全部代码

import time,os,json
import re
import demjson
import urllib
import requests
from lxml import etree
def log(content):
    this_time = time.strftime('%H:%M:%S',time.localtime(time.time()))
    print("["+str(this_time)+"]" + content)
class QQ_like:
    def __init__(self,qq_number):
        self.headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
        self.qq_number = qq_number
        self.get_preparameter()
        self.run_tolike()
    def get_preparameter(self):
        self.search_cookie()
        self.get_g_tk()
        self.get_space()
    def run_tolike(self):
        if os.path.exists('time_out.txt'):
            with open('time_out.txt','r') as f:
                self.time_out = f.read()
        else:self.time_out = None
        while True:
            self.get_friends_list()
            time.sleep(__import__('random').randint(0,5))
    def search_cookie(self):
        if not os.path.exists('cookie_dict.txt'):
            self.get_cookie_json()
        with open('cookie_dict.txt', 'r') as f:
            self.cookie=json.load(f)
        return True
    def get_cookie_json(self):
        password = __import__('getpass').getpass('请输入密码:')
        from selenium import webdriver
        from selenium.webdriver.chrome.options import Options
        login_url = 'https://i.qq.com/'
        chrome_options =Options()
        chrome_options.add_argument('--headless')
        driver = webdriver.Chrome(options=chrome_options)
        driver.get(login_url)
        driver.switch_to_frame('login_frame')
        driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()
        time.sleep(1)
        driver.find_element_by_xpath('//*[@id="u"]').send_keys(self.qq_number)
        driver.find_element_by_xpath('//*[@id="p"]').send_keys(password)
        time.sleep(1)
        driver.find_element_by_xpath('//*[@id="login_button"]').click()
        time.sleep(1)
        cookie_list = driver.get_cookies()
        cookie_dict = {}
        for cookie in cookie_list:
            if 'name' in cookie and 'value' in cookie:
                cookie_dict[cookie['name']] = cookie['value']
        with open('cookie_dict.txt', 'w') as f:
            json.dump(cookie_dict, f)
        return True
    def get_g_tk(self):
        p_skey = self.cookie['p_skey']
        h = 5381
        for i in p_skey:
            h += (h << 5) + ord(i)
            self.g_tk = h & 2147483647
    def get_space(self):
        your_url = 'https://user.qzone.qq.com/' + str(self.qq_number)
        html = requests.get(your_url,headers=self.headers,cookies=self.cookie)
        if html.status_code == 200:
            self.qzonetoken = re.findall('window.g_qzonetoken =(.*?);',html.text,re.S)[1].split('"')[1]
        return True
    def get_friends_list(self):
        times = ""
        url = "https://user.qzone.qq.com/proxy/domain/ic2.qzone.qq.com/cgi-bin/feeds/feeds3_html_more?"
        data = {
            'uin': self.qq_number,
            'scope': '0',
            'view': '1',
            'daylist': '',
            'uinlist': '',
            'gid': '',
            'flag': '1',
            'filter':'all',
            'applist': 'all',
            'refresh': '0',
            'aisortEndTime': '0',
            'aisortOffset': '0',
            'getAisort': '0',
            'aisortBeginTime': '0',
            'pagenum': '1',
            'externparam': 'undefined',
            'firstGetGroup': '0',
            'icServerTime': '0',
            'mixnocache': '0',
            'scene': '0',
            'begintime': 'undefined',
            'count': '10',
            'dayspac': 'undefined',
            'sidomain': 'qzonestyle.gtimg.cn',
            'useutf8': '1',
            'outputhtmlfeed': '1',
            'rd': '0.9311604844249088',
            'usertime': str(round(time.time() * 1000)),
            'windowId': '0.51158950324406',
            'g_tk': self.g_tk,
            'qzonetoken': self.qzonetoken,
        }
        url = url + urllib.parse.urlencode(data) + '&g_tk=' + str(self.g_tk)
        html = requests.get(url,headers=self.headers,cookies=self.cookie)
        if html.status_code == 200:
            text = html.text[10:-2].replace(" ", "").replace('\n','')
            json_list = demjson.decode(text)['data']['data']
            qq_spaces = json_list[0]
            content = str(qq_spaces['html'])
            try:zanshu = re.findall('<spanclass="f-like-cnt">(.*?)</span>人觉得很赞</div>',content,re.S)[0]
            except:return None
            time_out = str(qq_spaces['feedstime'])
            log("名字:"+str(qq_spaces['nickname']))
            log("QQ号:"+str(qq_spaces['opuin']))
            log("时间:"+time_out)
            log('赞数:'+zanshu)
            times = qq_spaces['abstime']
            his_url = re.findall('data-curkey="(.*?)"',content,re.S)[0]
            if not self.time_out or self.time_out != time_out:
                self.time_out = time_out
                self.get_zan(times,his_url)
                return True
            else:log('说说无更新,等待中...')
        else:log(html.status_code)
    def get_zan(self,times,his_url):
        data = {'g_tk': self.g_tk,'qzonetoken': self.qzonetoken}
        post_data = {
            'qzreferrer': 'https://user.qzone.qq.com/'+str(qq_number),
            'opuin': str(qq_number),
            'unikey': str(his_url),
            'curkey': str(his_url),
            'from': '1',
            'appid': '311',
            'typeid': '0',
            'abstime': str(times),
            'fid': str(his_url).split('/')[-1],
            'active': '0',
            'fupdate': '1'
        }
        url = 'https://user.qzone.qq.com/proxy/domain/w.qzone.qq.com/cgi-bin/likes/internal_dolike_app?'
        url = url + urllib.parse.urlencode(data)
        html = requests.post(url,headers=self.headers,cookies=self.cookie,data=post_data)
        if html.status_code == 200:log("点赞成功" if len(html.text) == 469 else "点赞失败")
        with open('time_out.txt','w') as f:
            f.write(str(times))
if __name__ == "__main__":
    qq_number = input('请输入qq号:')
    QQ_like(qq_number)
Python3爬虫实战——QQ空间自动点赞程序(上) 基于Python3的Qzone的自动点赞秒赞爬虫。 当我们按下“赞”之后,Qzone的后台发生了什么PY交易? Python3实现http请求。 使用抓包工具Fiddler分析数据包。 Fiddler怎么使用。 阅读详情

相关推荐

Python爬虫QQ空间

目录 一、前言 二、利用selenium模拟登陆获取cookie并保存到本地 三、破解空间加密参数g_tk 四、在个人QQ空间好友栏获取好友列表 五、获取好友空间说说的json文件,获取姓名、说说内容、时间等信息,存入数据库 六、开启多线程爬取 七、小结 一、前言 玩了这么多年QQ,学了爬虫当然要爬一下啦,肯定有大佬要说爬个QQ空间还要多线程吗,人家只是刚看了多线程方面的知...

After__today的博客 1万+

QQ空间自动点赞代码

每逢节假日,总有朋友同学发说说,求关注,自己又没时间去点赞。现在让我们来在QQ空间控制台加上一段代码 一段Javascript代码,让电脑自动为我们点赞。 var x=5,y=10; function autoClick() { y=y+5; var zan=document.getElementsByClassName('item

M_siri的博客 1万+

Python网络爬虫5 - 爬取QQ空间相册

自毕业后,就再也没有用过QQ,QQ空间里记录的是些并不精彩的青葱岁月,但好歹也是份回忆,近日想着学以致用,用Python把QQ空间相册的所有照片爬取下来,以作备份。 分析QQ空间 登录QQ空间 爬取第一步,分析站点,首先需要知道如何登录QQ空间。最初想法是用requests库配置登录请求,模拟登录,但是不久便放弃了这一思路,请看下图↓ 根据登录按钮绑定的监听事件可以追踪到该按钮的点击事件如下: ...

weixin_34122548的博客 1万+

无需软件实现QQ空间秒赞以及赞空间全部说说

电脑上直接在浏览器打开QQ空间,按F12打开控制台,输入以下代码然后回车 function autoLike() { var list=document.getElementsByClassName("item qz_like_btn_v3 "); for(i=0;i&lt;list.length;i++) { if(list[i].attributes...

淚笑的博客 2万+

【python爬虫】QQ空间爬虫 笔记

〇、前情提要 给爷爬。 参考: heartbreaker97/spider_qzone_friends https://github.com/heartbreaker97/spider_qzone_friends python爬虫-登录QQ空间获取COOKIES https://www.bilibili.com/video/BV1w7411W7YR python爬虫-QQ好友列表获取 https://www.bilibili.com/video/BV157411W7cx 似乎没有完结,晚些来补 一、RE

weixin_43210113的博客 3324

Python3爬虫实践——QQ空间自动点赞程序(下)

QQ空间自动点赞爬虫。 在浏览器地址栏输入网址并回车、或点击刷新后,浏览器与Qzone又发生了什么交易? GZIP解压GET到的数据包。 近期Qzone发说说后,emoji表情变得不清真了? 使用正则表达式过滤页面内容抓取unikey和curkey。

Leaviathan的博客 5663

输入qq号强制进空间_Python爬虫实战:QQ空间全自动点赞工具

QQ空间自动点赞前景提要目标确定分析介绍登陆获取cookie寻找XML寻找可变参数获取第一个空间动态寻找点赞所需的URL寻找可变参数功能提升到秒赞全部代码最后还是希望你们能给我点一波小小的关注。奉上自己诚挚的爱心私信小编01即可获取大量Python学习资料前景提要因为我周围的小伙伴们天天跟我说的最多的一句话就是:空间第一条点赞。所以说我还不如直接做一个自动点赞的代码呢,免得天天催我点赞。目标确定Q...

weixin_39849894的博客 1万+

最新秒赞系统网站源码

全新UI+全新首页 修复扫码不回调问题 修复数据表 增加发卡系统 增加支付通道 修复部分浏览器乱码问题 简化监控列表四行即可奔放

y空间兑换代码_Python爬虫实战:QQ空间全自动点赞工具

QQ空间自动点赞前景提要目标确定分析介绍登陆获取cookie寻找XML寻找可变参数获取第一个空间动态寻找点赞所需的URL寻找可变参数功能提升到秒赞全部代码最后还是希望你们能给我点一波小小的关注。奉上自己诚挚的爱心私信小编01即可获取大量Python学习资料前景提要因为我周围的小伙伴们天天跟我说的最多的一句话就是:空间第一条点赞。所以说我还不如直接做一个自动点赞的代码呢,免得天天催我点赞。目标确定Q...

weixin_39622655的博客 571

秒赞网源码

秒赞网 源码简单 界面清新好看 秒赞非常稳定 功能强大 没有后门

基于PHP的彩虹云任务秒赞网特别版php版源码.zip

基于PHP的彩虹云任务秒赞网特别版php版源码.zip

爬虫实战 -- QQ空间自动点赞

QQ空间自动点赞前景提要目标确定分析介绍全部代码最后还是希望你们能给我点一波小小的关注。奉上自己诚挚的爱心???? 前景提要 因为我周围的小伙伴们天天跟我说的最多的一句话就是:空间第一条点赞。 所以说我还不如直接做一个自动点赞的代码呢,免得天天催我点赞。 目标确定 分析介绍 全部代码 import time import json import re import demjson import urllib import requests from lxml import etree class

一名新生程序员的日常 1万+

秒赞网源码,彩虹秒赞网源码

安装说明: 源码上传至空间 安装 监控即可使用

qq空间自动点赞

前言 前端时间尝试用爬虫爬取某jd的商品数据,然后发现普通方式(辣鸡的我)爬取不到。然后了解了一下selenium这个神器,然后就有了这个点赞demo。这是 预览地址,当然你也可以拉github跑在本地。 基本功能的实现 首先要导入selenium-webdriver库,然后安装对应浏览器的driver,我这里使用的与chrome对应的chromedriver(注意对应浏览器版本)。 有了sel...

weixin_33738555的博客 1万+

从零配置EtherCAT IGH主站:手把手教你处理内核版本与实时性优化的那些坑

本文详细指导如何从零配置EtherCAT IGH主站,涵盖内核版本适配、实时性优化及常见问题解决方案。通过精确匹配内核头文件、应用实时补丁和优化网卡驱动,帮助开发者实现微秒级响应,适用于工业自动化、机器人控制等高精度场景。

weixin_30790841的博客 382

扣子(coze)实战|手把手教你搭建AI换装自动化工作流

摘要:本文介绍了使用Coze平台搭建AI换装工作流的详细教程。工作流包含模特图片上传、服装替换、任务提交和智能轮询等模块,通过change_model插件实现异步换装处理,并内置30秒循环查询机制。该工具支持自定义API密钥对接不同AI服务商,目前已上线共享空间并提供会员服务(59.8元/年)和VIP课程(499元/年),包含100+智能体和实战案例资源。完整体验地址见文中链接。

yueyehuguang的博客 1843

python爬取设置了权限的qq空间_日常用Python来监控女神QQ空间!就算他把我屏蔽,也阻止不了我!-qq空间怎么设置访问权限...

谁还没暗恋过哪个妹子啊!当然那些暗恋的妹子应该称做为女生,今天就教大家一个简单的算是爬虫的案例吧!主要实现的功能就是:监控女神的 QQ空间,一旦女神发布新的说说,你的邮箱马上就会收到说说内容,是不是想了解一下先看看代码运行效果图:源码已经展示给了大家~私信小编“01”可以获取!PS:只有你有一台云服务器你就可以把程序24h运行起来直接上代码:-- coding:utf-8 --from bs4 i...

weixin_39520775的博客 7569

Cadence仿真MOS电容C-V曲线:从电路图到参数扫描的完整流程

本文详细介绍了使用Cadence Virtuoso仿真MOS电容C-V曲线的完整流程,从电路图绘制到参数扫描,再到结果分析与问题排查。通过实际案例和实用技巧,帮助工程师快速掌握MOS电容特性分析的关键步骤,提升集成电路设计效率。

weixin_29271263的博客 431

【python爬虫】爬取QQ空间说说

前言 虽然扒qq空间不是很地道,但咱还是干干吧……正好也是闲来无事,我这个应该不会被别人发现 tao) 技术路线 selenium + beautifulsoup + pyautogui selenium模拟浏览器 beautifulsoup解析文本 pyautogui 负责下拉 需要注意的点 QQ空间在加载的时候,是一部分一部分加载的。也就是说当下拉到最底的时候,才可以在网页中刷新出来新的...

loxs 3494

Python全栈入门到实战【AI实战篇 01】DeepSeek官方API全流程实战,第一个AI项目前置必备

文章摘要 本文介绍了基于DeepSeek API开发智能助手的前期准备和基础调用流程。内容涵盖: 前期准备:访问DeepSeek官网、完成账号注册与实名认证。 API Key获取:充值并创建API Key,强调密钥安全保存的重要性。 查阅文档:定位官方接口文档中的Python调用示例。 环境配置:安装openai依赖包,配置环境变量存储API Key。 代码编写:使用Python调用DeepSeek API实现基础对话功能。 调试与验证:解决常见问题,确保API调用成功。 适合零基础开发者跟随操作,快速入门

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 3733

【深度学习|Transformer模型学习】什么是前馈神经网络(Feed-Forward Neural Network)?将前馈神经网络中的全连接层变成1*1卷积层会有什么样的效果?

【深度学习|Transformer模型学习】什么是前馈神经网络(Feed-Forward Neural Network)?将前馈神经网络中的全连接层变成1*1卷积层会有什么样的效果?

985小水博的摸鱼日常 1375

Python爬虫实战, QQ空间自动点赞

QQ空间自动点赞 前景提要 目标确定 分析介绍 登陆获取cookie 寻找XML 寻找可变参数 获取第一个空间动态 寻找点赞所需的URL 寻找可变参数 功能提升到秒赞 全部代码 最后还是希望你们能给我点一波小小的关注。 奉上自己诚挚的爱心???? 前景提要 因为我周围的小伙伴们天天跟我说的最多的一句话就是:空间第一条点赞。 所以说我还不如直接做一个自动点赞的代码呢,免得天天催我点赞。 很多人学习pytho

Python_sn的博客 788

GEE:耦合5个因子的kRSEI遥感生态指数(K Remote Sensing Ecological Index, KRSEI)计算

本文将介绍在 Google Earth Engine (GEE)平台上,如何耦合5个因子,进行 kRSEI 的计算。具体来说,分别计算了 `NDVI, WET, NDBSI,LST,NDRI` 5个因子,并使用 PCA 主成分分析方法计算了权重,最后,计算了 kRSEI 指数。

养乐多的博客 1413

爬虫实战 -- QQ空间自动点赞!太强了呀!

前景提要 因为我周围的小伙伴们天天跟我说的最多的一句话就是:空间第一条点赞。 所以说我还不如直接做一个自动点赞的代码呢,免得天天催我点赞。 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群交流解答点击即可加入 目标确定 QQ空间秒赞 分析介绍 登陆获取cookie 首先既然是对 QQ空间的一系列操作,自然是先解决登陆方面,在这篇文章里面我就不过多介绍了,因为我上几期之前对QQ空间已经做了一定的介绍了。直接放出链接就好。欢迎看博主以...

爬遍所有网站 6991

RK3588芯片CAN总线调试秘籍:SocketCAN与错误帧攻略

RK3588芯片在嵌入式领域凭借8nm工艺和强大性能成为核心控制器。本文详细介绍了其CAN总线配置流程,包括硬件连接、内核驱动配置及SocketCAN命令操作,并深入解析了CAN通信中的错误帧机制及分析方法。通过智能工厂案例,展示了从问题定位到解决方案的全过程,强调了稳定通信对工业应用的重要性。文章为RK3588的CAN总线应用提供了实用技术参考,并对未来智能诊断技术在该领域的应用进行了展望。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 512

Aurix TC3xx系列MCU ADC模块简介(一)

简单介绍英飞凌Aurix TC3xx系列单片机ADC模块的特点及内部结构。

m0_38045338的博客 6361
上一篇: Python网络爬虫实战:世纪佳缘爬取近6万条小姐姐数据后发现惊天秘密
下一篇: Python爬虫实战,拉黑 QQ 空间屏蔽我的“大人物“
Python_sn
博客等级 码龄6年 324粉丝 290原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值