在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Python/ 類型錯(cuò)誤:function,json轉(zhuǎn)換字典時(shí)報(bào)錯(cuò)

類型錯(cuò)誤:function,json轉(zhuǎn)換字典時(shí)報(bào)錯(cuò)

# -*- conding:utf-8 -*-

import requests,re,json,time
from requests import ReadTimeout

Ding_url = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxx'
Ding_headers = {
    "Content-Type": "application/json ;charset=utf-8 "
}
url = 'http://www.123.com.cn/'
req = requests.get(url).text
url_list = re.findall('href="(.*?)"',req,re.S)
urls = ['http://www.123.com.cn/']
for ul in url_list:
    if ul not in urls:
        urls.append(ul)

def status():

    for i in urls:
        if 'show' in i:
            try:
                html_status = requests.head(url = i , timeout=30)
                status_codes = html_status.status_code
                content_print = {str(status_codes):str(i)}
                # j = json.dumps(content_print) #TypeError: Object of type 'function' is not JSON serializable  
                time.sleep(1)
            except:
                status()
    return status_codes,status

def datas(status):
    datass = {"msgtype": "text", "text": {"content": status}, "at": {"atMobiles": [], "isAtAll": False}}
    String_textMsg = json.dumps(datass)
    req = requests.post(Ding_url, data=String_textMsg, headers=Ding_headers).text
    print('發(fā)送內(nèi)容:', String_textMsg)
    return String_textMsg

def TorF(status_codes):#,title
    if status_codes == 200:
        datas(status)
    return datas(status)

num = 1
while num < 99999999999:
    datas(status)
    num += 1
    time.sleep(5)
    print('已執(zhí)行第 ' + str(num) + ' 次')

代碼如上,在json.dumps轉(zhuǎn)換的時(shí)候,報(bào)錯(cuò)了,類型不對(duì)。我測(cè)了一下content_print = {str(status_codes):str(i)}是dict啊,而且換成list、元組都不行。在實(shí)際輸出的時(shí)候能看到類型確實(shí)不對(duì)<function status at 0x00000000027C5840>,但是這個(gè)不知道咋改了...

回答
編輯回答
淺時(shí)光
datass = {"msgtype": "text", "text": {"content": status}, "at": {"atMobiles": [], "isAtAll": False}}
String_textMsg = json.dumps(datass)

上面的status是函數(shù)名。是不是要調(diào)用一下啊 status()

2018年6月8日 13:46
編輯回答
遲月
TypeError: <function status at 0x7f2368c12578> is not JSON serializable

"status"是個(gè)函數(shù),json.dumps打印不出來(lái)。

2018年3月28日 22:15