python百度贴吧发帖签到_【Python】某度贴吧签到脚本[云函数专用版](白嫖实现每日自动签到)...

本脚本为某度贴吧签到脚本(https://www.52pojie.cn/thread-1152714-1-1.html)的云函数版本

相较于本地版本,此脚本新添了延时功能以防签到过快,并将代码放置在main函数中以提供入口(不再显示执行错误)

Python

# -*- coding: utf8 -*-

from requests import Session

from time import sleep

def main(*args):

# 数据

like_url = 'https://tieba.baidu.com/mo/q/newmoindex?'

sign_url = 'http://tieba.baidu.com/sign/add'

tbs = '4fb45fea4498360d1547435295'

head = {

'Accept': 'text/html, */*; q=0.01',

'Accept-Encoding': 'gzip, deflate',

'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',

'Connection': 'keep-alive',

'Cookie': '填入你的百度cookie(获取方法参考http://pandownload.com/faq/cookie.html,将网盘的TOKEN换成贴吧的TOKEN',

'Host': 'tieba.baidu.com',

'Referer': 'http://tieba.baidu.com/i/i/forum',

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '

'Chrome/71.0.3578.98 Safari/537.36',

'X-Requested-With': 'XMLHttpRequest'}

s = Session()

# 获取关注的贴吧

bars = []

dic = s.get(like_url, headers=head).json()['data']['like_forum']

for bar_info in dic:

bars.append(bar_info['forum_name'])

# 签到

already_signed_code = 1101

success_code = 0

need_verify_code = 2150040

already_signed = 0

succees = 0

failed_bar = []

n = 0

while n < len(bars):

sleep(0.5)

bar = bars[n]

data = {

'ie': 'utf-8',

'kw': bar,

'tbs': tbs

}

try:

r = s.post(sign_url, data=data, headers=head)

except Exception as e:

print(f'未能签到{bar}, 由于{e}。')

failed_bar.append(bar)

continue

dic = r.json()

msg = dic['no']

if msg == already_signed_code: already_signed += 1; r = '已经签到过了!'

elif msg == need_verify_code: n -= 1; r = '需要验证码,即将重试!'

elif msg == success_code: r = f"签到成功!你是第{dic['data']['uinfo']['user_sign_rank']}个签到的吧友,共签到{dic['data']['uinfo']['total_sign_num']}天。"

else: r = '未知错误!' + dic['error']

print(f"{bar}:{r}")

succees += 1

n += 1

l = len(bars)

failed = "\n失败列表:"+'\n'.join(failed_bar) if len(failed_bar) else ''

print(f'''共{l}个吧,其中: {succees}个吧签到成功,{len(failed_bar)}个吧签到失败,{already_signed}个吧已经签到。{failed}''')

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64# -*- coding: utf8 -*-

fromrequestsimportSession

fromtimeimportsleep

defmain(*args):

# 数据

like_url='https://tieba.baidu.com/mo/q/newmoindex?'

sign_url='http://tieba.baidu.com/sign/add'

tbs='4fb45fea4498360d1547435295'

head={

'Accept':'text/html, */*; q=0.01',

'Accept-Encoding':'gzip, deflate',

'Accept-Language':'zh-CN,zh;q=0.9,en;q=0.8',

'Connection':'keep-alive',

'Cookie':'填入你的百度cookie(获取方法参考http://pandownload.com/faq/cookie.html,将网盘的TOKEN换成贴吧的TOKEN',

'Host':'tieba.baidu.com',

'Referer':'http://tieba.baidu.com/i/i/forum',

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '

'Chrome/71.0.3578.98 Safari/537.36',

'X-Requested-With':'XMLHttpRequest'}

s=Session()

# 获取关注的贴吧

bars=[]

dic=s.get(like_url,headers=head).json()['data']['like_forum']

forbar_infoindic:

bars.append(bar_info['forum_name'])

# 签到

already_signed_code=1101

success_code=0

need_verify_code=2150040

already_signed=0

succees=0

failed_bar=[]

n=0

whilen

sleep(0.5)

bar=bars[n]

data={

'ie':'utf-8',

'kw':bar,

'tbs':tbs

}

try:

r=s.post(sign_url,data=data,headers=head)

exceptExceptionase:

print(f'未能签到{bar}, 由于{e}。')

failed_bar.append(bar)

continue

dic=r.json()

msg=dic['no']

ifmsg==already_signed_code:already_signed+=1;r='已经签到过了!'

elifmsg==need_verify_code:n-=1;r='需要验证码,即将重试!'

elifmsg==success_code:r=f"签到成功!你是第{dic['data']['uinfo']['user_sign_rank']}个签到的吧友,共签到{dic['data']['uinfo']['total_sign_num']}天。"

else:r='未知错误!'+dic['error']

print(f"{bar}:{r}")

succees+=1

n+=1

l=len(bars)

failed="\n失败列表:"+'\n'.join(failed_bar)iflen(failed_bar)else''

print(f'''共{l}个吧,其中: {succees}个吧签到成功,{len(failed_bar)}个吧签到失败,{already_signed}个吧已经签到。{failed}''')

如果不需要日志则把带“#日志记录”的行删除即可

有了脚本就要挂到白嫖云服务器上来实现自动签到

Step1. 注册账号,过程略。网址:https://console.cloud.tencent.com/

Step2. 进入云函数控制台的函数服务:https://console.cloud.tencent.com/scf/index?rid=1

Step3. 单击“新建”

Step4.

Step5.

Step6.

Step7. 测试一下函数运行情况。如若成功则应该能看到“测试成功”,输出与图示相似;失败则检查cookie是否过期、填写错误以及网络状况。

Step8. 自动执行

注意下面Cron表达式中的空格(或者复制:0 0 1 * * * *)

Step9. 洗洗睡,明天早上起来后会发现已经签到了

Step10. 如若关注贴吧个数过多,请自行修改超时时间(大约为0.7s*关注个数)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是一个示例的京东自动签到Python 脚本: ```python import requests import json # 首先你需要有京东账号并且登录 # 然后在浏览器中打开京东签到页面, 复制一下请求地址 url = "https://api.m.jd.com/client.action?functionId=userSign" # 之后把请求头和请求体中的内容复制下来 headers = { "User-Agent": "jdapp;iPhone;9.0.5;13.5.1;5b5aa5db5d2d5b5aa5db5d2d5b5aa5db5d2d5b5aa5db5d2d;network/4g;ADID/3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D;supportApplePay/3;hasUPPay/0;pushNoticeIsOpen/1;model/iPhone9,1;addressid/135701015;hasOCPay/0;appBuild/167169;supportBestPay/0;jdSupportDarkMode/0;pv/46.7;apprpd/MyJD_Main;ref/MyJdMTAManager;psq/2;ads/;psn/5b5aa5db5d2d5b5aa5db5d2d5b5aa5db5d2d5b5aa5db5d2d|985@985@2149@2149", "Referer": "https://jdjoy.jd.com/pet/index", "Content-Type": "application/x-www-form-urlencoded", } data = { "body": "{}", "client": "wh5", "clientVersion": "1.0.0", "sid": "", # 这里填写你的 sid "uuid": "", # 这里填写你的 uuid } # 最后起请求即可实现自动签到 response = requests.post(url, headers=headers, data=data) # 打印签到的结果 print(json.loads(response.text)) ``` 注意: 你需要把 `sid` 和 `uuid` 的值替换成你自己的值. 你可以在浏览器的开者工具中查看 ### 回答2: 要实现一个京东自动签到Python脚本,首先需要安装必要的Python库,如requests、selenium和webdriver等。 1. 导入所需的库: ```python import requests from selenium import webdriver from selenium.webdriver.chrome.options import Options ``` 2. 设置Chrome浏览器参数: ```python chrome_options = Options() chrome_options.add_argument('--headless') # 设置无头模式,无需显示浏览器界面 driver = webdriver.Chrome(chrome_options=chrome_options) ``` 3. 登录京东账号: ```python def login(username, password): driver.get('https://passport.jd.com/new/login.aspx') driver.find_element_by_link_text('账户登录').click() driver.find_element_by_id('loginname').send_keys(username) driver.find_element_by_id('nloginpwd').send_keys(password) driver.find_element_by_id('loginsubmit').click() ``` 4. 自动签到: ```python def jd_sign_in(): driver.get('https://vip.jd.com/sign/index') driver.find_element_by_link_text('签到领京豆').click() if '签到成功' in driver.page_source: print('签到成功!') else: print('签到失败!') ``` 5. 主函数入口: ```python if __name__ == '__main__': username = 'your_username' # 替换为京东账号用户名 password = 'your_password' # 替换为京东账号密码 login(username, password) jd_sign_in() driver.quit() ``` 以上就是一个简单的实现京东自动签到Python脚本。该脚本通过模拟浏览器行为自动登录京东账号并完成签到操作。需要注意的是,由于京东网页结构可能会变化,所以在使用时需要根据实际情况进行修改。另外,也可以结合定时任务等方式,实现每日自动签到。 ### 回答3: 要实现一个京东自动签到Python脚本,需要以下步骤: 1. 导入所需的库:使用import语句导入所需的库,例如selenium和webdriver库。 2. 设置浏览器驱动:根据浏览器的不同,下载相应的浏览器驱动并设置到系统环境变量中。 3. 实例化浏览器:使用webdriver库的webdriver.Chrome()方法实例化一个Chrome浏览器对象。 4. 访问京东签到页面:使用浏览器对象的get()方法访问京东签到页面。 5. 登录京东账号:通过定位各个元素输入账号和密码,点击登录按钮完成登录过程。 6. 执行签到操作:使用浏览器对象的find_element_by_xpath()或find_element_by_css_selector()方法定位签到按钮,并点击。 7. 判断是否签到成功:根据签到成功后页面元素的变化,使用浏览器对象的find_element_by_xpath()或find_element_by_css_selector()方法判断签到操作是否成功。 8. 保存签到结果:将签到结果保存到文件中,可以使用open()函数创建文件并将签到结果写入。 9. 关闭浏览器:使用浏览器对象的quit()方法关闭浏览器。 10. 设置定时任务:可以使用Python的定时任务库,如schedule库,创建定时任务,定时执行签到脚本。 总结: 以上是一个简单的京东自动签到Python脚本实现步骤,通过使用selenium库模拟浏览器操作,我们可以实现自动登录和签到功能。定时任务可以确保脚本每天自动执行签到操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值