コード例 #1
0
ファイル: duowantaskpp.py プロジェクト: jmpews/lolgirl
def func():
    # 找到第一篇帖子内容
    # 多玩帖子内需要特别判断的函数,比如是否存在ID关键字,以及是否存在图片.
    def duowanfunc():
        girlurl=rq_girl.get()
        r=requests.get(girlurl)
        soup=BeautifulSoup(r.text,"html.parser")
        # girlpage=soup.find('td',id=re.compile('postmessage.*'),attrs={'class':'t_f'})
        girlpage=soup.find('div',attrs={'class':'t_fsz'})
        if not girlpage:
            return
        IDkeys=['ID','id']
        # 提取妹纸id
        p=re.compile('(?:id|ID)[\s|:|:|;|;]*(\S+)\s*')
        girlpagetext=girlpage.text
        nickname=p.findall(girlpagetext)

        # 判断是否存在id关键字
        if len(nickname)<1:
            return False

        # 判断有没有照片
        pics=girlpage.find_all('img',zoomfile=True)

        if len(pics)<1:
            return False
        # nickname=nickname[0]

        # 保存图片url
        if len(pics)>5:
            pics=pics[:5]
        piclist=[utils.quote_url(pic.attrs['zoomfile']) for pic in pics]
        return {'nickname':nickname,'picurls':piclist}


    duowaninfo=duowanfunc()
    if not duowaninfo:
        return
    # 如果存在多个ID,一次检查,比较
    id_info={'fighting':-1}
    names=duowaninfo['nickname']
    for name in names:
        if len(name.encode('gbk'))<4 or len(name.encode('gbk'))>16:
            # print('=============ID 格式异常========')
            return
        tmpinfo=utils.checkid(name)
        if tmpinfo:
            if tmpinfo['fighting']>id_info['fighting']:
                id_info=tmpinfo
    if id_info['fighting']==-1:
        return
    else:
        print(id_info)
    id_info['picurls']=duowaninfo['picurls']
    # pickle也可以作序列化
    rq_info.put(json.dumps(id_info,ensure_ascii=False))
コード例 #2
0
ファイル: addstudent.py プロジェクト: usnnu/python_foundation
def addstudent(filepath):
    print("输入学生信息,其中ID为四位数字:")

    name = input("name:")
    id = input("id:")
    while not utils.checkid(id):
        id = input("input the right style:")
    grade = input("grade:")
    while not utils.checkgrade(grade):
        grade = input("input the right grade:")

    print("add succesful!")
    print("name:%s, id:%s, grade:%s" % (name, id, grade))
    instruct = input('save?(y/n):')
    if instruct == 'y':
        with open(filepath, 'a') as fi:
            fi.write(name + '\t' + id + '\t' + grade + '\n')
        print("save succesful!")
コード例 #3
0
ファイル: dktaskpp.py プロジェクト: jmpews/lolgirl
def func():
    girlid = rq_girl.get().decode()
    girlid = json.loads(girlid)
    idinfo_15w = utils.checkid(girlid['nickname'])
    if not idinfo_15w:
        return
    overinfo = utils.overdate(idinfo_15w['player'])
    if not overinfo:
        return

    girlinfo = {}
    girlinfo['picurls'] = [girlid['picurl']]
    girlinfo['nickname'] = girlid['nickname']
    girlinfo.update(idinfo_15w)
    girlinfo.update(overinfo)
    print(girlinfo)
    # pickle也可以作序列化
    rq_info.put(json.dumps(girlinfo, ensure_ascii=False))
コード例 #4
0
ファイル: dktaskpp.py プロジェクト: jmpews/lolgirl
def func():
    girlid=rq_girl.get().decode()
    girlid=json.loads(girlid)
    idinfo_15w= utils.checkid(girlid['nickname'])
    if not idinfo_15w:
        return
    overinfo=utils.overdate(idinfo_15w['player'])
    if not overinfo:
        return

    girlinfo={}
    girlinfo['picurls']=[girlid['picurl']]
    girlinfo['nickname']=girlid['nickname']
    girlinfo.update(idinfo_15w)
    girlinfo.update(overinfo)
    print(girlinfo)
    # pickle也可以作序列化
    rq_info.put(json.dumps(girlinfo,ensure_ascii=False))