无了 发表于 2021-8-25 18:04:40

请大佬帮我转一下腾讯云函数

import hashlib

Ne-21 发表于 2021-8-25 18:04:41

晚柒载 发表于 2021-8-26 10:27
还是不行。请求大佬能录一下视频吗

https://www.aliyundrive.com/s/sjrcAp9pdco

无了 发表于 2021-8-25 18:06:46

import hashlib
import requests
from bs4 import BeautifulSoup

username ='0'
passwd = '0'

kwparm = {'saltkey' : 'NG6M727H',
            'auth' : 'c409BopLq9ONSqL7QlQ7ROPkV5hFLJctwFd6i6McaCimSmzb%2FSB0mQ4sJamka5pRHiZUwSz0t3fSa7gE79yQ7kxm21Y',
            'dsu_amupper' : 'DQo8c3R5bGU%2BDQoucHBlcndibSB7cGFkZGluZzo2cHggMTJweDtib3JkZXI6MXB4IHNvbGlkICNDRENEQ0Q7YmFja2dyb3VuZDojRjJGMkYyO2xpbmUtaGVpZ2h0OjEuOGVtO2NvbG9yOiMwMDMzMDA7d2lkdGg6MjAwcHg7b3ZlcmZsb3c6aGlkZGVufQ0KLnBwZXJ3Ym0gLnRpbWVze2NvbG9yOiNmZjk5MDA7fQ0KLnBwZXJ3Ym0gIGF7ZmxvYXQ6cmlnaHQ7Y29sb3I6I2ZmMzMwMDt0ZXh0LWRlY29yYXRpb246bm9uZX0NCjwvc3R5bGU%2BDQoNCjxkaXYgY2xhc3M9InBwZXJ3Ym0iIGlkPSJwcGVyd2JfbWVudSIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiID4NCjxBIEhSRUY9InBsdWdpbi5waHA%2FaWQ9ZHN1X2FtdXBwZXI6cHBlcmxpc3QiIHRhcmdldD0iX2JsYW5rIj6y6b%2B0x6m1vcXF0NA8L0E%2BDQo8c3Ryb25nPsDbvMbHqbW9PHNwYW4gY2xhc3M9InRpbWVzIj4xNDA8L3NwYW4%2BtM48L3N0cm9uZz48YnI%2BDQoNCjxzdHJvbmc%2BwazQ%2BMeptb08c3BhbiBjbGFzcz0idGltZXMiPjE0MDwvc3Bhbj60zjwvc3Ryb25nPjxicj4NCg0KPHN0cm9uZz7Jz7TOx6m1vTogPHNwYW4gY2xhc3M9InRpbWVzIj4yMDIxLTA4LTI1IDA4OjU1OjA1PC9zcGFuPjwvc3Ryb25nPg0KPC9kaXY%2BDQo%3D'}

psw = hashlib.md5(passwd.encode('ascii'))   
password = psw.hexdigest()

loginurl = 'http://bbs.06climate.com/member.php'
autourl = 'http://bbs.06climate.com/plugin.php'
homeurl = 'http://bbs.06climate.com/forum.php'

header = {}

params = {'mod': 'logging',
'action': 'login',
'loginsubmit': 'yes',
'infloat': 'yes',
'lssubmit': 'yes',
'inajax': 1}

foparam = {'mod' : 'follow',
            'do': 'follower'}

loginData = {'fastloginfield': 'username',
'username' : username,
'password' : password,
'quickforward' : 'yes',
'handlekey' : 'ls'}

cookie_value = 'bdshare_firstime=1476108193500; \
Dp7l_2132_saltkey=%(saltkey)s; \
Dp7l_2132_auth=%(auth)s; \
Dp7l_2132_dsu_amupper=%(dsu_amupper)s' % kwparm

cookie = {'Cookie': cookie_value}

s = requests.session()
getinfo = s.post(loginurl, params = params,
            data = loginData, headers = header,
            cookies = cookie)

if getinfo.text.find(username) > 0:
    logout = True
    print('%s 成功登录!' % username)
    homeinfo = s.get(homeurl, headers = header, cookies = cookie)
    hc = BeautifulSoup(homeinfo.text, 'lxml')
    rems = hc.find('a', {'id': 'myprompt'})
    rr = rems.get_text()
    ss = rr.replace(')', '(').split('(')
      
    auparams = {'id' : 'dsu_amupper',
                'ppersubmit' : 'true',
                'formhash':'035c4186',
                'infloat': 'yes',
                'handlekey': 'dsu_amupper',
                'inajax' : 1,
                'ajaxtarget' : 'fwin_content_dsu_amupper'}            
            
    autoinfo = s.get(autourl, params = auparams, cookies = cookie)      

    if len(ss) > 1:            
      message = u'%s 有 %s 条信息!请查看!' % (username, ss)
    elif len(ss) == 1:
      print(u'无新消息!')
    else:
      message = u'未知情况!'
   
    if autoinfo.text.find(u'累计签到') > 0:
      print(u'%s 签到成功!' % username)
    elif autoinfo.text.find(u'无需再次签到!') > 0:
      print(u'%s 已签到成功,无需再次签到!' % username)   
    else:
      message = u'%s 签到出现问题!' % username
      print(message)            
else:
    logout = False
    message = u'%s 登录失败!' % username
    print(message)

李恒道 发表于 2021-8-25 19:31:47

论坛应该很少有人会这个...大部分都是前端,尴尬

Ne-21 发表于 2021-8-25 23:05:52

创建一个空的Python3函数

打开CloudStudio,将下面代码复制到index.py

```python
# -*- coding: utf8 -*-
import json
import hashlib
import requests
from bs4 import BeautifulSoup


def main_handler(event, context):
    username = '0'
    passwd = '0'

    kwparm = {'saltkey': 'NG6M727H',
            'auth': 'c409BopLq9ONSqL7QlQ7ROPkV5hFLJctwFd6i6McaCimSmzb%2FSB0mQ4sJamka5pRHiZUwSz0t3fSa7gE79yQ7kxm21Y',
            'dsu_amupper': 'DQo8c3R5bGU%2BDQoucHBlcndibSB7cGFkZGluZzo2cHggMTJweDtib3JkZXI6MXB4IHNvbGlkICNDRENEQ0Q7YmFja2dyb3VuZDojRjJGMkYyO2xpbmUtaGVpZ2h0OjEuOGVtO2NvbG9yOiMwMDMzMDA7d2lkdGg6MjAwcHg7b3ZlcmZsb3c6aGlkZGVufQ0KLnBwZXJ3Ym0gLnRpbWVze2NvbG9yOiNmZjk5MDA7fQ0KLnBwZXJ3Ym0gIGF7ZmxvYXQ6cmlnaHQ7Y29sb3I6I2ZmMzMwMDt0ZXh0LWRlY29yYXRpb246bm9uZX0NCjwvc3R5bGU%2BDQoNCjxkaXYgY2xhc3M9InBwZXJ3Ym0iIGlkPSJwcGVyd2JfbWVudSIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiID4NCjxBIEhSRUY9InBsdWdpbi5waHA%2FaWQ9ZHN1X2FtdXBwZXI6cHBlcmxpc3QiIHRhcmdldD0iX2JsYW5rIj6y6b%2B0x6m1vcXF0NA8L0E%2BDQo8c3Ryb25nPsDbvMbHqbW9PHNwYW4gY2xhc3M9InRpbWVzIj4xNDA8L3NwYW4%2BtM48L3N0cm9uZz48YnI%2BDQoNCjxzdHJvbmc%2BwazQ%2BMeptb08c3BhbiBjbGFzcz0idGltZXMiPjE0MDwvc3Bhbj60zjwvc3Ryb25nPjxicj4NCg0KPHN0cm9uZz7Jz7TOx6m1vTogPHNwYW4gY2xhc3M9InRpbWVzIj4yMDIxLTA4LTI1IDA4OjU1OjA1PC9zcGFuPjwvc3Ryb25nPg0KPC9kaXY%2BDQo%3D'}

    psw = hashlib.md5(passwd.encode('ascii'))
    password = psw.hexdigest()

    loginurl = 'http://bbs.06climate.com/member.php'
    autourl = 'http://bbs.06climate.com/plugin.php'
    homeurl = 'http://bbs.06climate.com/forum.php'

    header = {}

    params = {'mod': 'logging',
            'action': 'login',
            'loginsubmit': 'yes',
            'infloat': 'yes',
            'lssubmit': 'yes',
            'inajax': 1}

    foparam = {'mod': 'follow',
               'do': 'follower'}

    loginData = {'fastloginfield': 'username',
               'username': username,
               'password': password,
               'quickforward': 'yes',
               'handlekey': 'ls'}


    cookie_value = 'bdshare_firstime=1476108193500; \
    Dp7l_2132_saltkey=%(saltkey)s; \
    Dp7l_2132_auth=%(auth)s; \
    Dp7l_2132_dsu_amupper=%(dsu_amupper)s' % kwparm

    cookie = {'Cookie': cookie_value}

    s = requests.session()
    getinfo = s.post(loginurl, params=params,
                  data=loginData, headers=header,
                  cookies=cookie)

    if getinfo.text.find(username) > 0:
      logout = True
      print('%s 成功登录!' % username)
      homeinfo = s.get(homeurl, headers=header, cookies=cookie)
      hc = BeautifulSoup(homeinfo.text, 'lxml')
      rems = hc.find('a', {'id': 'myprompt'})
      rr = rems.get_text()
      ss = rr.replace(')', '(').split('(')

      auparams = {'id': 'dsu_amupper',
                  'ppersubmit': 'true',
                  'formhash':'035c4186',
                  'infloat': 'yes',
                  'handlekey': 'dsu_amupper',
                  'inajax': 1,
                  'ajaxtarget': 'fwin_content_dsu_amupper'}

      autoinfo = s.get(autourl, params=auparams, cookies=cookie)

      if len(ss) > 1:
            message = u'%s 有 %s 条信息!请查看!' % (username, ss)
      elif len(ss) == 1:
            print(u'无新消息!')
      else:
            message = u'未知情况!'

      if autoinfo.text.find(u'累计签到') > 0:
            print(u'%s 签到成功!' % username)
      elif autoinfo.text.find(u'无需再次签到!') > 0:
            print(u'%s 已签到成功,无需再次签到!' % username)
      else:
            message = u'%s 签到出现问题!' % username
            print(message)
    else:
      logout = False
      message = u'%s 登录失败!' % username
      print(message)
      return("Hello World")

```

在终端输如pwd查看当前路径

`pip3 install beautifulsoup4 -t 当前路径`安装Bs4

`pip3 install lxml -t 当前路径`安装lxml

Ne-21 发表于 2021-8-25 23:12:47

本帖最后由 Ne-21 于 2021-8-25 23:15 编辑

因为新的lxml库,其版本语法支持改变了,所以上面的

```python

```

Ne-21 发表于 2021-8-25 23:15:31

因为lxml新的库不支持,新版本语法支持改变了

所以上面代码

```python
hc = BeautifulSoup(homeinfo.text, 'lxml')
#要改成
hc = BeautifulSoup(homeinfo.text, 'html.parser')
```

运行截图

!(https://i.loli.net/2021/08/25/olmIhfqCZUBzFR6.png)

李恒道 发表于 2021-8-26 09:08:37

Ne-21 发表于 2021-8-25 23:15
因为lxml新的库不支持,新版本语法支持改变了

所以上面代码


好活

无了 发表于 2021-8-26 10:15:47

本帖最后由 晚柒载 于 2021-8-26 10:19 编辑

Ne-21 发表于 2021-8-25 23:15
因为lxml新的库不支持,新版本语法支持改变了

所以上面代码

我一直不成功{:4_115:}

Ne-21 发表于 2021-8-26 10:19:40

晚柒载 发表于 2021-8-26 10:15
我一直不成功

函数执行时间调到最大900试试
页: [1] 2 3
查看完整版本: 请大佬帮我转一下腾讯云函数