def get_article_detail(text, del_qqmusic=True, del_voice=True):
        """根据微信文章的临时链接获取明细

        1. 获取文本中所有的图片链接列表
        2. 获取微信文章的html内容页面(去除标题等信息)

        Parameters
        ----------
        text : str or unicode
            一篇微信文章的文本
        del_qqmusic: bool
            删除文章中的qq音乐
        del_voice: bool
            删除文章中的语音内容

        Returns
        -------
        dict
        {
            'content_html': str # 微信文本内容
            'content_img_list': list[img_url1, img_url2, ...] # 微信文本中图片列表

        }
        """
        # 1. 获取微信文本content
        html_obj = BeautifulSoup(text, "lxml") # [STATE] html_obj = <!DOCTYPE html><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><meta content="IE=edge" http-equiv="X-UA-Compatible"/><meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover" name="viewport"/><meta content="yes" name="apple-mobile-web-app-capable"/><meta content="black" name="apple-mobile-web-app-status-bar-style"/><meta content="telephone=no" name="format-detection"/> [/STATE]
        content_text = html_obj.find('div', {'class': 'rich_media_content', 'id': 'js_content'}) # [STATE] content_text =

                                                 早上好~

不要总呆在自己的舒适圈里，

不走出去，

你很难发现自己的潜力

<qqmusic albumid="001k4Q4m2RYxCy" albumurl="https://y.gtimg.cn/music/photo_new/T002R68x68M000001k4Q4m2RYxCy.jpg" audiourl="http://ws.stream.qqmusic.qq.com/C100002VMURX2Ebx6y.m4a?fromtag=46" class="res_iframe qqmusic_iframe js_editor_qqmusic" frameborder="0" jumpurlkey="" mid="002VMURX2Ebx6y" music_name="柔如彩虹" musicid="635327" musictype="1" otherid="002VMURX2Ebx6y" play_length="221" scrolling="no" singer="Richard Clayderman - 理查德.克莱德曼钢琴曲精选" src="/cgi-bin/readtemplate?t=tmpl/qqmusic_tmpl&singer=Richard%20Clayderman%20-%20%E7%90%86%E6%9F%A5%E5%BE%B7.%E5%85%8B%E8%8E%B1%E5%BE%B7%E6%9B%BC%E9%92%A2%E7%90%B4%E6%9B%B2%E7%B2%BE%E9%80%89&music_name=%E6%9F%94%E5%A6%82%E5%BD%A9%E8%99%B9&albumurl=https%3A%2F%2Fy.gtimg.cn%2Fmusic%2Fphoto_new%2FT002R68x68M000001k4Q4m2RYxCy.jpg&musictype=1"></qqmusic>

欢迎分享到朋友圈~

 [/STATE]

        # 2. 删除部分标签
        if del_qqmusic:
            qqmusic = content_text.find_all('qqmusic') or [] # [STATE] qqmusic = [<qqmusic albumid="001k4Q4m2RYxCy" albumurl="https://y.gtimg.cn/music/photo_new/T002R68x68M000001k4Q4m2RYxCy.jpg" audiourl="http://ws.stream.qqmusic.qq.com/C100002VMURX2Ebx6y.m4a?fromtag=46" class="res_iframe qqmusic_iframe js_editor_qqmusic" frameborder="0" jumpurlkey="" mid="002VMURX2Ebx6y" music_name="柔如彩虹" musicid="635327" musictype="1" otherid="002VMURX2Ebx6y" play_length="221" scrolling="no" singer="Richard Clayderman - 理查德.克莱德曼钢琴曲精选" src="/cgi-bin/readtemplate?t=tmpl/qqmusic_tmpl&singer=Richard%20Clayderman%20-%20%E7%90%86%E6%9F%A5%E5%BE%B7.%E5%85%8B%E8%8E%B1%E5%BE%B7%E6%9B%BC%E9%92%A2%E7%90%B4%E6%9B%B2%E7%B2%BE%E9%80%89&music_name=%E6%9F%94%E5%A6%82%E5%BD%A9%E8%99%B9&albumurl=https%3A%2F%2Fy.gtimg.cn%2Fmusic%2Fphoto_new%2FT002R68x68M000001k4Q4m2RYxCy.jpg&musictype=1"></qqmusic>] [/STATE]
            for music in qqmusic: #  [STATE] music = <qqmusic albumid="001k4Q4m2RYxCy" albumurl="https://y.gtimg.cn/music/photo_new/T002R68x68M000001k4Q4m2RYxCy.jpg" audiourl="http://ws.stream.qqmusic.qq.com/C100002VMURX2Ebx6y.m4a?fromtag=46" class="res_iframe qqmusic_iframe js_editor_qqmusic" frameborder="0" jumpurlkey="" mid="002VMURX2Ebx6y" music_name="柔如彩虹" musicid="635327" musictype="1" otherid="002VMURX2Ebx6y" play_length="221" scrolling="no" singer="Richard Clayderman - 理查德.克莱德曼钢琴曲精选" src="/cgi-bin/readtemplate?t=tmpl/qqmusic_tmpl&singer=Richard%20Clayderman%20-%20%E7%90%86%E6%9F%A5%E5%BE%B7.%E5%85%8B%E8%8E%B1%E5%BE%B7%E6%9B%BC%E9%92%A2%E7%90%B4%E6%9B%B2%E7%B2%BE%E9%80%89&music_name=%E6%9F%94%E5%A6%82%E5%BD%A9%E8%99%B9&albumurl=https%3A%2F%2Fy.gtimg.cn%2Fmusic%2Fphoto_new%2FT002R68x68M000001k4Q4m2RYxCy.jpg&musictype=1"></qqmusic> [/STATE]
                music.parent.decompose() # [STATE] content_text =

                                                 早上好~

不要总呆在自己的舒适圈里，

不走出去，

你很难发现自己的潜力

欢迎分享到朋友圈~

 [/STATE] # [STATE] qqmusic = REPR FAILED [/STATE] # [STATE] music = REPR FAILED [/STATE]

        if del_voice:
            # voice是一个p标签下的mpvoice标签以及class为'js_audio_frame db'的span构成，所以将父标签删除
            voices = content_text.find_all('mpvoice') or [] # [STATE] voices = [] [/STATE]
            for voice in voices:
                voice.parent.decompose()

        # 3. 获取所有的图片 [img标签，和style中的background-image]
        all_img_set = set() # [STATE] all_img_set = set() [/STATE]
        all_img_element = content_text.find_all('img') or [] # [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE]
        for ele in all_img_element: #  [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE] [STATE] ele =  [/STATE]
            # 删除部分属性
            img_url = format_image_url(ele.attrs['data-src']) #  [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErux30g1cwicx2awgxGUrVAq3G6kACAWqdoAZ1jdjuLv7ShVjp9fjtKkcQ/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruMagzpWJa3IowapejQRxeaN9xNG1ond1XQ7Kd4TUtnSCqTMPJm50UWQ/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB10icDUYXeCCiatGPFKaHaOBnWIARweIA8tLOrFS5N5BBByIwqO8yCVjuUzwYAa2HuxiabDzQHtYD61Bw/640?' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_jpg/oq1PymRl9D7wicq1tSoqEUMOFsicSz0VMHQGKRJDOVGNqve308J4BjpiaqhdcJaFgicVsdn88v5icRLPWRyE4Um2M5g/640?wx_fmt=jpeg' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruGeGwW9Io6ibmFOteW04ibmg5HT8DKfEvfoojVleRiaibgON6Fwr6Hhanwg/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruPfXZic5rn0ddft1UrbQdz1PvEmMhoQ5cw87H7gL0PImMlF4UB5wpkSg/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEru7Y9cXa6t7b4sKlcURer8XpRkP84hURFRWJkSibUlDySMUdyPA8lxmSw/640?wx_fmt=png' [/STATE] [STATE] img_url = 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruxgJMkE11iao5lr8OibR9f9yqIrHx2cxUCu65pzIZP3auOicenn1dDpvkA/640?wx_fmt=png' [/STATE]
            del ele.attrs['data-src'] #  [STATE] content_text =

                                                 早上好~

不要总呆在自己的舒适圈里，

不走出去，

你很难发现自己的潜力

欢迎分享到朋友圈~

 [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] content_text =

                                                 早上好~

不要总呆在自己的舒适圈里，

不走出去，

你很难发现自己的潜力

欢迎分享到朋友圈~

 [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE]

            ele.attrs['src'] = img_url #  [STATE] content_text =

                                                 早上好~

不要总呆在自己的舒适圈里，

不走出去，

你很难发现自己的潜力

欢迎分享到朋友圈~

 [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] content_text =

                                                 早上好~

不要总呆在自己的舒适圈里，

不走出去，

你很难发现自己的潜力

欢迎分享到朋友圈~

 [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE] [STATE] ele =  [/STATE] [STATE] all_img_element = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ] [/STATE]

            if not img_url.startswith('http'):
                raise WechatSogouException('img_url [{}] 不合法'.format(img_url))
            all_img_set.add(img_url) #  [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErux30g1cwicx2awgxGUrVAq3G6kACAWqdoAZ1jdjuLv7ShVjp9fjtKkcQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErux30g1cwicx2awgxGUrVAq3G6kACAWqdoAZ1jdjuLv7ShVjp9fjtKkcQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruMagzpWJa3IowapejQRxeaN9xNG1ond1XQ7Kd4TUtnSCqTMPJm50UWQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErux30g1cwicx2awgxGUrVAq3G6kACAWqdoAZ1jdjuLv7ShVjp9fjtKkcQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruMagzpWJa3IowapejQRxeaN9xNG1ond1XQ7Kd4TUtnSCqTMPJm50UWQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB10icDUYXeCCiatGPFKaHaOBnWIARweIA8tLOrFS5N5BBByIwqO8yCVjuUzwYAa2HuxiabDzQHtYD61Bw/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_jpg/oq1PymRl9D7wicq1tSoqEUMOFsicSz0VMHQGKRJDOVGNqve308J4BjpiaqhdcJaFgicVsdn88v5icRLPWRyE4Um2M5g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErux30g1cwicx2awgxGUrVAq3G6kACAWqdoAZ1jdjuLv7ShVjp9fjtKkcQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruMagzpWJa3IowapejQRxeaN9xNG1ond1XQ7Kd4TUtnSCqTMPJm50UWQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB10icDUYXeCCiatGPFKaHaOBnWIARweIA8tLOrFS5N5BBByIwqO8yCVjuUzwYAa2HuxiabDzQHtYD61Bw/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_jpg/oq1PymRl9D7wicq1tSoqEUMOFsicSz0VMHQGKRJDOVGNqve308J4BjpiaqhdcJaFgicVsdn88v5icRLPWRyE4Um2M5g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErux30g1cwicx2awgxGUrVAq3G6kACAWqdoAZ1jdjuLv7ShVjp9fjtKkcQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruMagzpWJa3IowapejQRxeaN9xNG1ond1XQ7Kd4TUtnSCqTMPJm50UWQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB10icDUYXeCCiatGPFKaHaOBnWIARweIA8tLOrFS5N5BBByIwqO8yCVjuUzwYAa2HuxiabDzQHtYD61Bw/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruGeGwW9Io6ibmFOteW04ibmg5HT8DKfEvfoojVleRiaibgON6Fwr6Hhanwg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruMagzpWJa3IowapejQRxeaN9xNG1ond1XQ7Kd4TUtnSCqTMPJm50UWQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruGeGwW9Io6ibmFOteW04ibmg5HT8DKfEvfoojVleRiaibgON6Fwr6Hhanwg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/oq1PymRl9D7wicq1tSoqEUMOFsicSz0VMHQGKRJDOVGNqve308J4BjpiaqhdcJaFgicVsdn88v5icRLPWRyE4Um2M5g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruPfXZic5rn0ddft1UrbQdz1PvEmMhoQ5cw87H7gL0PImMlF4UB5wpkSg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErux30g1cwicx2awgxGUrVAq3G6kACAWqdoAZ1jdjuLv7ShVjp9fjtKkcQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB10icDUYXeCCiatGPFKaHaOBnWIARweIA8tLOrFS5N5BBByIwqO8yCVjuUzwYAa2HuxiabDzQHtYD61Bw/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruMagzpWJa3IowapejQRxeaN9xNG1ond1XQ7Kd4TUtnSCqTMPJm50UWQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruGeGwW9Io6ibmFOteW04ibmg5HT8DKfEvfoojVleRiaibgON6Fwr6Hhanwg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEru7Y9cXa6t7b4sKlcURer8XpRkP84hURFRWJkSibUlDySMUdyPA8lxmSw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/oq1PymRl9D7wicq1tSoqEUMOFsicSz0VMHQGKRJDOVGNqve308J4BjpiaqhdcJaFgicVsdn88v5icRLPWRyE4Um2M5g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruPfXZic5rn0ddft1UrbQdz1PvEmMhoQ5cw87H7gL0PImMlF4UB5wpkSg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErux30g1cwicx2awgxGUrVAq3G6kACAWqdoAZ1jdjuLv7ShVjp9fjtKkcQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB10icDUYXeCCiatGPFKaHaOBnWIARweIA8tLOrFS5N5BBByIwqO8yCVjuUzwYAa2HuxiabDzQHtYD61Bw/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png'} [/STATE] [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruMagzpWJa3IowapejQRxeaN9xNG1ond1XQ7Kd4TUtnSCqTMPJm50UWQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruGeGwW9Io6ibmFOteW04ibmg5HT8DKfEvfoojVleRiaibgON6Fwr6Hhanwg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEru7Y9cXa6t7b4sKlcURer8XpRkP84hURFRWJkSibUlDySMUdyPA8lxmSw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/oq1PymRl9D7wicq1tSoqEUMOFsicSz0VMHQGKRJDOVGNqve308J4BjpiaqhdcJaFgicVsdn88v5icRLPWRyE4Um2M5g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruPfXZic5rn0ddft1UrbQdz1PvEmMhoQ5cw87H7gL0PImMlF4UB5wpkSg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErux30g1cwicx2awgxGUrVAq3G6kACAWqdoAZ1jdjuLv7ShVjp9fjtKkcQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB10icDUYXeCCiatGPFKaHaOBnWIARweIA8tLOrFS5N5BBByIwqO8yCVjuUzwYAa2HuxiabDzQHtYD61Bw/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruxgJMkE11iao5lr8OibR9f9yqIrHx2cxUCu65pzIZP3auOicenn1dDpvkA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png'} [/STATE]

        backgroud_image = content_text.find_all(style=re.compile("background-image")) or [] # [STATE] backgroud_image = [

] [/STATE]
        for ele in backgroud_image: #  [STATE] ele =

 [/STATE]
            # 删除部分属性
            if ele.attrs.get('data-src'):
                del ele.attrs['data-src']

            if ele.attrs.get('data-wxurl'):
                del ele.attrs['data-wxurl'] # [STATE] content_text =

                                                 早上好~

不要总呆在自己的舒适圈里，

不走出去，

你很难发现自己的潜力

欢迎分享到朋友圈~

 [/STATE] # [STATE] ele =

 [/STATE] # [STATE] backgroud_image = [

] [/STATE]
            img_url = re.findall(backgroud_image_p, str(ele)) # [STATE] img_url = ['https://mmbiz.qpic.cn/mmbiz_jpg/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRHGXoMtN8oReOYz7SkiaHJqjk7ACtFQfUOhQkibtofRZt463fujIwQcicg/640?wx_fmt=jpeg'] [/STATE]
            if not img_url:
                continue
            all_img_set.add(img_url[0]) # [STATE] all_img_set = {'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruNFHXlrc4bmxH3DWgqn0tvBSHUTg6fcF9DUGlDf2kJFmmHrAtvicha1A/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruMagzpWJa3IowapejQRxeaN9xNG1ond1XQ7Kd4TUtnSCqTMPJm50UWQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruGeGwW9Io6ibmFOteW04ibmg5HT8DKfEvfoojVleRiaibgON6Fwr6Hhanwg/640?wx_fmt=png', 'http://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiagSm5VtCHMcEYXtrmgBK4U7liaapv8Mhicwf05CWlM0JicxzBAs4QDQt2xOMVuL9Y4tEKSG1tSDVvOnA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRHGXoMtN8oReOYz7SkiaHJqjk7ACtFQfUOhQkibtofRZt463fujIwQcicg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruBcqVLOZsEGT1fRZvsRsmRqCl6eyLrYHR0kwovFhkjU8dSvhzs2mtRA/640?wx_fmt=png', 'http://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajJ1SEqcphq0AdJklqfSBSmfah3nFRxglymcibajPooleKzlV9qZZy5FcyOqDOuH5QibXVR0cuiahRkQ/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz/ianq03UUWGmK4x8wVTdM27HAUGhBg5y42uC4diafFxJ2oeg8gsqbRRfjOMibqibaUEg2AicYRX1YpE1ne58SMR2XGkQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEru7Y9cXa6t7b4sKlcURer8XpRkP84hURFRWJkSibUlDySMUdyPA8lxmSw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/oq1PymRl9D7wicq1tSoqEUMOFsicSz0VMHQGKRJDOVGNqve308J4BjpiaqhdcJaFgicVsdn88v5icRLPWRyE4Um2M5g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruPfXZic5rn0ddft1UrbQdz1PvEmMhoQ5cw87H7gL0PImMlF4UB5wpkSg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiajJ1SEqcphq0AdJklqfSBSmC42xAdtpV7C8YpDSZ6JXO52pg0m3cv5AfNpNeooyIsqQKS5D5lfTmQ/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErux30g1cwicx2awgxGUrVAq3G6kACAWqdoAZ1jdjuLv7ShVjp9fjtKkcQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB10icDUYXeCCiatGPFKaHaOBnWIARweIA8tLOrFS5N5BBByIwqO8yCVjuUzwYAa2HuxiabDzQHtYD61Bw/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruxgJMkE11iao5lr8OibR9f9yqIrHx2cxUCu65pzIZP3auOicenn1dDpvkA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwqLtGOkNR3jeI17pRBmuicnRJDNsjltcb7Y9rBOh7jxe0S3iadnGsnEXg/640?wx_fmt=jpeg'} [/STATE]

        # 4. 处理iframe
        all_img_element = content_text.find_all('iframe') or [] # [STATE] all_img_element = [] [/STATE]
        for ele in all_img_element:
            # 删除部分属性
            img_url = ele.attrs['data-src']
            del ele.attrs['data-src']
            ele.attrs['src'] = img_url

        # 5. 返回数据
        all_img_list = list(all_img_set) # [STATE] all_img_list = ['https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRYoicViaW9XPCpzfumwpdbOg0icWwx9OGEjuOgF7OCxLYxf0ibXz3T5ogxQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulWic8GkI4jTUAOfJrme36PZwQ2dic784yPtYumdthOKGrLYHfemicV6Hw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruNFHXlrc4bmxH3DWgqn0tvBSHUTg6fcF9DUGlDf2kJFmmHrAtvicha1A/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruMagzpWJa3IowapejQRxeaN9xNG1ond1XQ7Kd4TUtnSCqTMPJm50UWQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruGeGwW9Io6ibmFOteW04ibmg5HT8DKfEvfoojVleRiaibgON6Fwr6Hhanwg/640?wx_fmt=png', 'http://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiagSm5VtCHMcEYXtrmgBK4U7liaapv8Mhicwf05CWlM0JicxzBAs4QDQt2xOMVuL9Y4tEKSG1tSDVvOnA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/Jyco923vDiahUG7Gqyp3hMzafzu1MqfvRHGXoMtN8oReOYz7SkiaHJqjk7ACtFQfUOhQkibtofRZt463fujIwQcicg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruBcqVLOZsEGT1fRZvsRsmRqCl6eyLrYHR0kwovFhkjU8dSvhzs2mtRA/640?wx_fmt=png', 'http://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajJ1SEqcphq0AdJklqfSBSmfah3nFRxglymcibajPooleKzlV9qZZy5FcyOqDOuH5QibXVR0cuiahRkQ/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErulge7eq0v065JzON3PwdUWSXMPh9PLNRRmI9l4t8g5m4HYvhLCM73kg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz/ianq03UUWGmK4x8wVTdM27HAUGhBg5y42uC4diafFxJ2oeg8gsqbRRfjOMibqibaUEg2AicYRX1YpE1ne58SMR2XGkQ/640?wx_fmt=gif', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEru7Y9cXa6t7b4sKlcURer8XpRkP84hURFRWJkSibUlDySMUdyPA8lxmSw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/oq1PymRl9D7wicq1tSoqEUMOFsicSz0VMHQGKRJDOVGNqve308J4BjpiaqhdcJaFgicVsdn88v5icRLPWRyE4Um2M5g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruPfXZic5rn0ddft1UrbQdz1PvEmMhoQ5cw87H7gL0PImMlF4UB5wpkSg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErumf6Uuyibn37TsUkRY4Ahzxib69WZN0UP5b9iblJx7baFzCVdv7iakEyqkw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_gif/Jyco923vDiajJ1SEqcphq0AdJklqfSBSmC42xAdtpV7C8YpDSZ6JXO52pg0m3cv5AfNpNeooyIsqQKS5D5lfTmQ/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErux30g1cwicx2awgxGUrVAq3G6kACAWqdoAZ1jdjuLv7ShVjp9fjtKkcQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwloSIbsVMqDDYSQyjZ7sPdAl17PBJptmWGKvPCO2z3p9DPp6HwBmpcg/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_jpg/xrFYciaHL08BQibj45TouE53ViauIKoykFLFe6qb4jYnHM9xxicibN1gFfFVMUfMicqeTF3SYz25IaSxgbDvXGEFxK0g/640?wx_fmt=jpeg', 'https://mmbiz.qpic.cn/mmbiz_gif/v4vz52CcB10icDUYXeCCiatGPFKaHaOBnWIARweIA8tLOrFS5N5BBByIwqO8yCVjuUzwYAa2HuxiabDzQHtYD61Bw/640?', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruxgJMkE11iao5lr8OibR9f9yqIrHx2cxUCu65pzIZP3auOicenn1dDpvkA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErutPdD6pGvqMWZXBvtDl6Q72CuTpRa5C2eOPVswhh7W6rDXic45pRicdkg/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgErucGICXziaPSicIltx8Of5CkDJjKy6dxiclrVvByiabLaO7p3uZibTNmfhTxw/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruJD3CIeXArI8asI4qxCoqYuNN7paYWa4XfP2JuD6SjuF6OqTwgIzt7g/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruaXSrvfWk7B0jvWEogxVf8WvriaPGZjFwxtKPaKrmUBkfYxgOAZfR4rQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruQDBRUibgY8e14K7eR4x6fxMibeQ2ibJzuFNujBpVGHlacOW3iajP6zvsAA/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_png/v4vz52CcB13K0y1mCNoDfAMJ4nqJkGapfrQJ4KiatPCu1xiaiaFGF3DNfvhUCYliaKV0UVm2LtDrYRxtFnQ3IvL5RA/640', 'https://mmbiz.qpic.cn/mmbiz_png/Jyco923vDiajsBt80vSPPsBtpefTAgEruXXUwTb1e7uoXOvTJSexke9YgfkicFyibTria7CDgfia8VBUj6Q2XQqVIDQ/640?wx_fmt=png', 'https://mmbiz.qpic.cn/mmbiz_jpg/azXQmS1HA7lxZkZaxyTQ8yqLM57WTkZwqLtGOkNR3jeI17pRBmuicnRJDNsjltcb7Y9rBOh7jxe0S3iadnGsnEXg/640?wx_fmt=jpeg'] [/STATE]
        content_html = content_text.prettify() # [STATE] content_html = '
\n
\n
\n
\n
\n
\n      \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n      \n
\n
\n
\n
\n        早上好~\n
\n
\n
\n
\n
\n       \n        不要总呆在自己的舒适圈里，\n       \n
\n
\n       \n        不走出去，\n       \n
\n
\n       \n        你很难发现自己的潜力\n       \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n   \n
\n
\n
\n
\n
\n    \n     \n      欢迎分享到朋友圈~\n     \n    \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n     \n
\n
\n     \n
\n
\n
\n
\n   \n
\n
\n
\n' [/STATE]
        # 去除div[id=js_content]
        content_html = re.findall(js_content, content_html)[0][0] # [STATE] content_html = '\n
\n
\n
\n
\n
\n      \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n      \n
\n
\n
\n
\n        早上好~\n
\n
\n
\n
\n
\n       \n        不要总呆在自己的舒适圈里，\n       \n
\n
\n       \n        不走出去，\n       \n
\n
\n       \n        你很难发现自己的潜力\n       \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n   \n
\n
\n
\n
\n
\n    \n     \n      欢迎分享到朋友圈~\n     \n    \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n     \n
\n
\n     \n
\n
\n
\n
\n   \n
\n
\n' [/STATE]
        return {
            'content_html': content_html,
            'content_img_list': all_img_list
        }

get_article_detail('<!DOCTYPE html>\n\n\n\n    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n    <meta http-equiv="X-UA-Compatible" content="IE=edge">\n    <meta name="viewport"\n          content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover">\n    <meta name="apple-mobile-web-app-capable" content="yes">\n    <meta name="apple-mobile-web-app-status-bar-style" content="black">\n    <meta name="format-detection" content="telephone=no">\n\n\n    \n\n    \n    \n    \n\n\n\n\n\n', True, True)

1: def get_article_detail(text, del_qqmusic=True, del_voice=True):
2:         """根据微信文章的临时链接获取明细
3:
4:         1. 获取文本中所有的图片链接列表
5:         2. 获取微信文章的html内容页面(去除标题等信息)
6:
7:         Parameters
8:         ----------
9:         text : str or unicode
10:             一篇微信文章的文本
11:         del_qqmusic: bool
12:             删除文章中的qq音乐
13:         del_voice: bool
14:             删除文章中的语音内容
15:
16:         Returns
17:         -------
18:         dict
19:         {
20:             'content_html': str # 微信文本内容
21:             'content_img_list': list[img_url1, img_url2, ...] # 微信文本中图片列表
22:
23:         }
24:         """
25:         # 1. 获取微信文本content
26:         html_obj = BeautifulSoup(text, "lxml")
27:         content_text = html_obj.find('div', {'class': 'rich_media_content', 'id': 'js_content'})
28:
29:         # 2. 删除部分标签
30:         if del_qqmusic:
31:             qqmusic = content_text.find_all('qqmusic') or []
32:             for music in qqmusic:
33:                 music.parent.decompose()
34:
35:         if del_voice:
36:             # voice是一个p标签下的mpvoice标签以及class为'js_audio_frame db'的span构成，所以将父标签删除
37:             voices = content_text.find_all('mpvoice') or []
38:             for voice in voices:
39:                 voice.parent.decompose()
40:
41:         # 3. 获取所有的图片 [img标签，和style中的background-image]
42:         all_img_set = set()
43:         all_img_element = content_text.find_all('img') or []
44:         for ele in all_img_element:
45:             # 删除部分属性
46:             img_url = format_image_url(ele.attrs['data-src'])
47:             del ele.attrs['data-src']
48:
49:             ele.attrs['src'] = img_url
50:
51:             if not img_url.startswith('http'):
52:                 raise WechatSogouException('img_url [{}] 不合法'.format(img_url))
53:             all_img_set.add(img_url)
54:
55:         backgroud_image = content_text.find_all(style=re.compile("background-image")) or []
56:         for ele in backgroud_image:
57:             # 删除部分属性
58:             if ele.attrs.get('data-src'):
59:                 del ele.attrs['data-src']
60:
61:             if ele.attrs.get('data-wxurl'):
62:                 del ele.attrs['data-wxurl']
63:             img_url = re.findall(backgroud_image_p, str(ele))
64:             if not img_url:
65:                 continue
66:             all_img_set.add(img_url[0])
67:
68:         # 4. 处理iframe
69:         all_img_element = content_text.find_all('iframe') or []
70:         for ele in all_img_element:
71:             # 删除部分属性
72:             img_url = ele.attrs['data-src']
73:             del ele.attrs['data-src']
74:             ele.attrs['src'] = img_url
75:
76:         # 5. 返回数据
77:         all_img_list = list(all_img_set)
78:         content_html = content_text.prettify()
79:         # 去除div[id=js_content]
80:         content_html = re.findall(js_content, content_html)[0][0]
81:         return {
82:             'content_html': content_html,
83:             'content_img_list': all_img_list
84:         }
85:
86: get_article_detail('<!DOCTYPE html>\n\n\n\n    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n    <meta http-equiv="X-UA-Compatible" content="IE=edge">\n    <meta name="viewport"\n          content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover">\n    <meta name="apple-mobile-web-app-capable" content="yes">\n    <meta name="apple-mobile-web-app-status-bar-style" content="black">\n    <meta name="format-detection" content="telephone=no">\n\n\n    \n\n    \n    \n    \n\n\n\n\n\n', True, True)

Question: What is the value of 'all_img_element' in line 69 after executing 'get_article_detail('<!DOCTYPE html>\n\n\n\n    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n    <meta http-equiv="X-UA-Compatible" content="IE=edge">\n    <meta name="viewport"\n          content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover">\n    <meta name="apple-mobile-web-app-capable" content="yes">\n    <meta name="apple-mobile-web-app-status-bar-style" content="black">\n    <meta name="format-detection" content="telephone=no">\n\n\n    \n\n    \n    \n    \n\n\n\n\n\n', True, True)'?


def dump_from_base(args: list) -> None:
    """
        Dump memory from a base address for a specific size to file

        :param args:
        :return:
    """

    if len(clean_argument_flags(args)) < 3:
        click.secho('Usage: memory dump from_base <base_address> <size_to_dump> <local_destination>', bold=True)
        return

    # the destination file to write the dump to
    base_address = args[0] # [STATE] base_address = '0x00008000' [/STATE]
    memory_size = args[1] # [STATE] memory_size = '200' [/STATE]
    destination = args[2] # [STATE] destination = '/foo' [/STATE]

    # Check for file override
    if os.path.exists(destination):
        click.secho('Destination file {dest} already exists'.format(dest=destination), fg='yellow', bold=True)
        if not click.confirm('Override?'):
            return

    click.secho('Dumping {0} from {1} to {2}'.format(sizeof_fmt(int(memory_size)), base_address, destination),
                fg='green', dim=True)

    api = state_connection.get_api() # [STATE] api = <MagicMock name='get_api()' id='140041905169216'> [/STATE]

    # iirc, if you don't cast the return type to a bytearray it uses the sizeof(int) per cell, which is massive
    dump = bytearray() # [STATE] dump = bytearray(b'') [/STATE]
    chunks = _get_chunks(int(base_address, 16), int(memory_size), BLOCK_SIZE) # [STATE] chunks = [(32768, 200)] [/STATE]
    for chunk in chunks: #  [STATE] chunk = (32768, 200) [/STATE]
        dump.extend(bytearray(api.memory_dump(chunk[0], chunk[1]))) # [STATE] dump = bytearray(b'\x00') [/STATE]

    # append the results to the destination file
    with open(destination, 'wb') as f: # [STATE] f = <MagicMock name='open().__enter__()' id='140041907062336'> [/STATE]
        f.write(dump)

    click.secho('Memory dumped to file: {0}'.format(destination), fg='green')

dump_from_base(['0x00008000', '200', '/foo'])

1: def dump_from_base(args: list) -> None:
2:     """
3:         Dump memory from a base address for a specific size to file
4:
5:         :param args:
6:         :return:
7:     """
8:
9:     if len(clean_argument_flags(args)) < 3:
10:         click.secho('Usage: memory dump from_base <base_address> <size_to_dump> <local_destination>', bold=True)
11:         return
12:
13:     # the destination file to write the dump to
14:     base_address = args[0]
15:     memory_size = args[1]
16:     destination = args[2]
17:
18:     # Check for file override
19:     if os.path.exists(destination):
20:         click.secho('Destination file {dest} already exists'.format(dest=destination), fg='yellow', bold=True)
21:         if not click.confirm('Override?'):
22:             return
23:
24:     click.secho('Dumping {0} from {1} to {2}'.format(sizeof_fmt(int(memory_size)), base_address, destination),
25:                 fg='green', dim=True)
26:
27:     api = state_connection.get_api()
28:
29:     # iirc, if you don't cast the return type to a bytearray it uses the sizeof(int) per cell, which is massive
30:     dump = bytearray()
31:     chunks = _get_chunks(int(base_address, 16), int(memory_size), BLOCK_SIZE)
32:     for chunk in chunks:
33:         dump.extend(bytearray(api.memory_dump(chunk[0], chunk[1])))
34:
35:     # append the results to the destination file
36:     with open(destination, 'wb') as f:
37:         f.write(dump)
38:
39:     click.secho('Memory dumped to file: {0}'.format(destination), fg='green')
40:
41: dump_from_base(['0x00008000', '200', '/foo'])

Question: What is the value of 'f' in line 36 after executing 'dump_from_base(['0x00008000', '200', '/foo'])'?

Answer: <MagicMock name='open().__enter__()' id='140041907062336'>


def _a1_to_rowcol_unbounded(label):
    """Translates a cell's address in A1 notation to a tuple of integers.

    Same as `a1_to_rowcol()` but allows for missing row or column part
    (e.g. "A" for the first column)

    :returns: a tuple containing `row` and `column` numbers. Both indexed
        from 1 (one).
    :rtype: tuple

    Example:

    >>> _a1_to_rowcol_unbounded('A1')
    (1, 1)

    >>> _a1_to_rowcol_unbounded('A')
    (inf, 1)

    >>> _a1_to_rowcol_unbounded('1')
    (1, inf)

    >>> _a1_to_rowcol_unbounded('ABC123')
    (123, 731)

    >>> _a1_to_rowcol_unbounded('ABC')
    (inf, 731)

    >>> _a1_to_rowcol_unbounded('123')
    (123, inf)

    >>> _a1_to_rowcol_unbounded('1A')
    Traceback (most recent call last):
        ...
    gspread.exceptions.IncorrectCellLabel: 1A

    >>> _a1_to_rowcol_unbounded('')
    (inf, inf)

    """
    m = A1_ADDR_ROW_COL_RE.match(label) # [STATE] m = <re.Match object; span=(0, 2), match='A1'> [/STATE]
    if m:
        column_label, row = m.groups() # [STATE] column_label = 'A' [/STATE] # [STATE] row = '1' [/STATE]

        if column_label:
            col = 0 # [STATE] col = 0 [/STATE]
            for i, c in enumerate(reversed(column_label.upper())): #  [STATE] i = 0 [/STATE] [STATE] c = 'A' [/STATE]
                col += (ord(c) - MAGIC_NUMBER) * (26**i) # [STATE] col = 1 [/STATE]
        else:
            col = inf

        if row:
            row = int(row) # [STATE] row = 1 [/STATE]
        else:
            row = inf
    else:
        raise IncorrectCellLabel(label)

    return (row, col)

_a1_to_rowcol_unbounded('A1')

1: def _a1_to_rowcol_unbounded(label):
2:     """Translates a cell's address in A1 notation to a tuple of integers.
3:
4:     Same as `a1_to_rowcol()` but allows for missing row or column part
5:     (e.g. "A" for the first column)
6:
7:     :returns: a tuple containing `row` and `column` numbers. Both indexed
8:         from 1 (one).
9:     :rtype: tuple
10:
11:     Example:
12:
13:     >>> _a1_to_rowcol_unbounded('A1')
14:     (1, 1)
15:
16:     >>> _a1_to_rowcol_unbounded('A')
17:     (inf, 1)
18:
19:     >>> _a1_to_rowcol_unbounded('1')
20:     (1, inf)
21:
22:     >>> _a1_to_rowcol_unbounded('ABC123')
23:     (123, 731)
24:
25:     >>> _a1_to_rowcol_unbounded('ABC')
26:     (inf, 731)
27:
28:     >>> _a1_to_rowcol_unbounded('123')
29:     (123, inf)
30:
31:     >>> _a1_to_rowcol_unbounded('1A')
32:     Traceback (most recent call last):
33:         ...
34:     gspread.exceptions.IncorrectCellLabel: 1A
35:
36:     >>> _a1_to_rowcol_unbounded('')
37:     (inf, inf)
38:
39:     """
40:     m = A1_ADDR_ROW_COL_RE.match(label)
41:     if m:
42:         column_label, row = m.groups()
43:
44:         if column_label:
45:             col = 0
46:             for i, c in enumerate(reversed(column_label.upper())):
47:                 col += (ord(c) - MAGIC_NUMBER) * (26**i)
48:         else:
49:             col = inf
50:
51:         if row:
52:             row = int(row)
53:         else:
54:             row = inf
55:     else:
56:         raise IncorrectCellLabel(label)
57:
58:     return (row, col)
59:
60: _a1_to_rowcol_unbounded('A1')

Question: What is the value of 'row' in line 52 after executing '_a1_to_rowcol_unbounded('A1')'?

Answer: 1


def test_multithreading_lock(execution_number):  # type: ignore[misc]
    """Reruns test multiple times since error is random and
    depends on CPU and can lead to false positive result.

    """
    n_threads = 10 # [STATE] n_threads = 10 [/STATE]
    n_requests = 30 # [STATE] n_requests = 30 [/STATE]
    with responses.RequestsMock() as m: # [STATE] m = {_calls=<responses.CallList object at 0x7f684a53bee0>, _registry=<responses.registries.FirstMatchRegistry object at 0x7f684a53be80>, passthru_prefixes=(), assert_all_requests_are_fired=True, response_callback=None, target='requests.adapters.HTTPAdapter.send', _patcher=<unittest.mock._patch object at 0x7f6849be1af0>, _thread_lock=<unlocked _thread.lock object at 0x7f684a53b390>} [/STATE]
        for j in range(n_threads): #  [STATE] j = 0 [/STATE] [STATE] j = 1 [/STATE] [STATE] j = 2 [/STATE] [STATE] j = 3 [/STATE] [STATE] j = 4 [/STATE] [STATE] j = 5 [/STATE] [STATE] j = 6 [/STATE] [STATE] j = 7 [/STATE] [STATE] j = 8 [/STATE] [STATE] j = 9 [/STATE]
            for i in range(n_requests): #  [STATE] i = 0 [/STATE] [STATE] i = 1 [/STATE] [STATE] i = 2 [/STATE] [STATE] i = 3 [/STATE] [STATE] i = 4 [/STATE] [STATE] i = 5 [/STATE] [STATE] i = 6 [/STATE] [STATE] i = 7 [/STATE] [STATE] i = 8 [/STATE] [STATE] i = 9 [/STATE] [STATE] i = 10 [/STATE] [STATE] i = 11 [/STATE] [STATE] i = 12 [/STATE] [STATE] i = 13 [/STATE] [STATE] i = 14 [/STATE] [STATE] i = 15 [/STATE] [STATE] i = 16 [/STATE] [STATE] i = 17 [/STATE] [STATE] i = 18 [/STATE] [STATE] i = 19 [/STATE] [STATE] i = 20 [/STATE]
                m.add(url=f"http://example.com/example{i}", method="GET")

        def fun(): # [STATE] fun = <function test_multithreading_lock.<locals>.fun at 0x7f683d0139d0> [/STATE]
            for req in range(n_requests):
                requests.get(f"http://example.com/example{req}")

        threads = [ # [STATE] threads = [<Thread(example0, initial)>, <Thread(example1, initial)>, <Thread(example2, initial)>, <Thread(example3, initial)>, <Thread(example4, initial)>, <Thread(example5, initial)>, <Thread(example6, initial)>, <Thread(example7, initial)>, <Thread(example8, initial)>, <Thread(example9, initial)>] [/STATE]
            threading.Thread(name=f"example{i}", target=fun) for i in range(n_threads)
        ]
        for thread in threads: #  [STATE] thread = <Thread(example0, initial)> [/STATE] [STATE] thread = <Thread(example1, initial)> [/STATE] [STATE] thread = <Thread(example2, initial)> [/STATE] [STATE] thread = <Thread(example3, initial)> [/STATE] [STATE] thread = <Thread(example4, initial)> [/STATE] [STATE] thread = <Thread(example5, initial)> [/STATE] [STATE] thread = <Thread(example6, initial)> [/STATE] [STATE] thread = <Thread(example7, initial)> [/STATE] [STATE] thread = <Thread(example8, initial)> [/STATE] [STATE] thread = <Thread(example9, initial)> [/STATE]
            thread.start() #  [STATE] threads = [<Thread(example0, started 140085666891328)>, <Thread(example1, initial)>, <Thread(example2, initial)>, <Thread(example3, initial)>, <Thread(example4, initial)>, <Thread(example5, initial)>, <Thread(example6, initial)>, <Thread(example7, initial)>, <Thread(example8, initial)>, <Thread(example9, initial)>] [/STATE] [STATE] thread = <Thread(example0, started 140085666891328)> [/STATE] [STATE] threads = [<Thread(example0, started 140085666891328)>, <Thread(example1, started 140085658236480)>, <Thread(example2, initial)>, <Thread(example3, initial)>, <Thread(example4, initial)>, <Thread(example5, initial)>, <Thread(example6, initial)>, <Thread(example7, initial)>, <Thread(example8, initial)>, <Thread(example9, initial)>] [/STATE] [STATE] thread = <Thread(example1, started 140085658236480)> [/STATE] [STATE] threads = [<Thread(example0, started 140085666891328)>, <Thread(example1, started 140085658236480)>, <Thread(example2, started 140085649843776)>, <Thread(example3, initial)>, <Thread(example4, initial)>, <Thread(example5, initial)>, <Thread(example6, initial)>, <Thread(example7, initial)>, <Thread(example8, initial)>, <Thread(example9, initial)>] [/STATE] [STATE] thread = <Thread(example2, started 140085649843776)> [/STATE] [STATE] m = {_calls=<responses.CallList object at 0x7f684a53bee0>, _registry=<responses.registries.FirstMatchRegistry object at 0x7f684a53be80>, passthru_prefixes=(), assert_all_requests_are_fired=True, response_callback=None, target='requests.adapters.HTTPAdapter.send', _patcher=<unittest.mock._patch object at 0x7f6849be1af0>, _thread_lock=<locked _thread.lock object at 0x7f684a53b390>} [/STATE] [STATE] threads = [<Thread(example0, started 140085666891328)>, <Thread(example1, started 140085658236480)>, <Thread(example2, started 140085649843776)>, <Thread(example3, started 140085641451072)>, <Thread(example4, initial)>, <Thread(example5, initial)>, <Thread(example6, initial)>, <Thread(example7, initial)>, <Thread(example8, initial)>, <Thread(example9, initial)>] [/STATE] [STATE] thread = <Thread(example3, started 140085641451072)> [/STATE] [STATE] m = {_calls=<responses.CallList object at 0x7f684a53bee0>, _registry=<responses.registries.FirstMatchRegistry object at 0x7f684a53be80>, passthru_prefixes=(), assert_all_requests_are_fired=True, response_callback=None, target='requests.adapters.HTTPAdapter.send', _patcher=<unittest.mock._patch object at 0x7f6849be1af0>, _thread_lock=<unlocked _thread.lock object at 0x7f684a53b390>} [/STATE] [STATE] threads = [<Thread(example0, started 140085666891328)>, <Thread(example1, started 140085658236480)>, <Thread(example2, started 140085649843776)>, <Thread(example3, started 140085641451072)>, <Thread(example4, started 140085633058368)>, <Thread(example5, initial)>, <Thread(example6, initial)>, <Thread(example7, initial)>, <Thread(example8, initial)>, <Thread(example9, initial)>] [/STATE] [STATE] thread = <Thread(example4, started 140085633058368)> [/STATE] [STATE] threads = [<Thread(example0, started 140085666891328)>, <Thread(example1, started 140085658236480)>, <Thread(example2, started 140085649843776)>, <Thread(example3, started 140085641451072)>, <Thread(example4, started 140085633058368)>, <Thread(example5, started 140085624665664)>, <Thread(example6, initial)>, <Thread(example7, initial)>, <Thread(example8, initial)>, <Thread(example9, initial)>] [/STATE] [STATE] thread = <Thread(example5, started 140085624665664)> [/STATE] [STATE] threads = [<Thread(example0, started 140085666891328)>, <Thread(example1, started 140085658236480)>, <Thread(example2, started 140085649843776)>, <Thread(example3, started 140085641451072)>, <Thread(example4, started 140085633058368)>, <Thread(example5, started 140085624665664)>, <Thread(example6, started 140085616272960)>, <Thread(example7, initial)>, <Thread(example8, initial)>, <Thread(example9, initial)>] [/STATE] [STATE] thread = <Thread(example6, started 140085616272960)> [/STATE] [STATE] threads = [<Thread(example0, started 140085666891328)>, <Thread(example1, started 140085658236480)>, <Thread(example2, started 140085649843776)>, <Thread(example3, started 140085641451072)>, <Thread(example4, started 140085633058368)>, <Thread(example5, started 140085624665664)>, <Thread(example6, started 140085616272960)>, <Thread(example7, started 140085607880256)>, <Thread(example8, initial)>, <Thread(example9, initial)>] [/STATE] [STATE] thread = <Thread(example7, started 140085607880256)> [/STATE] [STATE] threads = [<Thread(example0, started 140085666891328)>, <Thread(example1, started 140085658236480)>, <Thread(example2, started 140085649843776)>, <Thread(example3, started 140085641451072)>, <Thread(example4, started 140085633058368)>, <Thread(example5, started 140085624665664)>, <Thread(example6, started 140085616272960)>, <Thread(example7, started 140085607880256)>, <Thread(example8, started 140085123085888)>, <Thread(example9, initial)>] [/STATE] [STATE] thread = <Thread(example8, started 140085123085888)> [/STATE] [STATE] threads = [<Thread(example0, started 140085666891328)>, <Thread(example1, started 140085658236480)>, <Thread(example2, started 140085649843776)>, <Thread(example3, started 140085641451072)>, <Thread(example4, started 140085633058368)>, <Thread(example5, started 140085624665664)>, <Thread(example6, started 140085616272960)>, <Thread(example7, started 140085607880256)>, <Thread(example8, started 140085123085888)>, <Thread(example9, started 140085114693184)>] [/STATE]
        for thread in threads: #  [STATE] thread = <Thread(example0, started 140085666891328)> [/STATE] [STATE] thread = <Thread(example1, stopped 140085658236480)> [/STATE] [STATE] thread = <Thread(example2, stopped 140085649843776)> [/STATE] [STATE] thread = <Thread(example3, stopped 140085641451072)> [/STATE] [STATE] thread = <Thread(example4, stopped 140085633058368)> [/STATE] [STATE] thread = <Thread(example5, stopped 140085624665664)> [/STATE] [STATE] thread = <Thread(example6, stopped 140085616272960)> [/STATE] [STATE] thread = <Thread(example7, stopped 140085607880256)> [/STATE] [STATE] thread = <Thread(example8, started 140085123085888)> [/STATE] [STATE] thread = <Thread(example9, started 140085114693184)> [/STATE] [STATE] m = {_calls=<responses.CallList object at 0x7f684a53bee0>, _registry=<responses.registries.FirstMatchRegistry object at 0x7f6838645a60>, passthru_prefixes=(), assert_all_requests_are_fired=True, response_callback=None, target='requests.adapters.HTTPAdapter.send', _patcher=None, _thread_lock=<unlocked _thread.lock object at 0x7f684a53b390>} [/STATE]
            thread.join() #  [STATE] m = {_calls=<responses.CallList object at 0x7f684a53bee0>, _registry=<responses.registries.FirstMatchRegistry object at 0x7f684a53be80>, passthru_prefixes=(), assert_all_requests_are_fired=True, response_callback=None, target='requests.adapters.HTTPAdapter.send', _patcher=<unittest.mock._patch object at 0x7f6849be1af0>, _thread_lock=<unlocked _thread.lock object at 0x7f684a53b390>} [/STATE] [STATE] threads = [<Thread(example0, stopped 140085666891328)>, <Thread(example1, stopped 140085658236480)>, <Thread(example2, stopped 140085649843776)>, <Thread(example3, stopped 140085641451072)>, <Thread(example4, stopped 140085633058368)>, <Thread(example5, stopped 140085624665664)>, <Thread(example6, stopped 140085616272960)>, <Thread(example7, stopped 140085607880256)>, <Thread(example8, started 140085123085888)>, <Thread(example9, started 140085114693184)>] [/STATE] [STATE] thread = <Thread(example0, stopped 140085666891328)> [/STATE] [STATE] threads = [<Thread(example0, stopped 140085666891328)>, <Thread(example1, stopped 140085658236480)>, <Thread(example2, stopped 140085649843776)>, <Thread(example3, stopped 140085641451072)>, <Thread(example4, stopped 140085633058368)>, <Thread(example5, stopped 140085624665664)>, <Thread(example6, stopped 140085616272960)>, <Thread(example7, stopped 140085607880256)>, <Thread(example8, stopped 140085123085888)>, <Thread(example9, started 140085114693184)>] [/STATE] [STATE] thread = <Thread(example8, stopped 140085123085888)> [/STATE] [STATE] threads = [<Thread(example0, stopped 140085666891328)>, <Thread(example1, stopped 140085658236480)>, <Thread(example2, stopped 140085649843776)>, <Thread(example3, stopped 140085641451072)>, <Thread(example4, stopped 140085633058368)>, <Thread(example5, stopped 140085624665664)>, <Thread(example6, stopped 140085616272960)>, <Thread(example7, stopped 140085607880256)>, <Thread(example8, stopped 140085123085888)>, <Thread(example9, stopped 140085114693184)>] [/STATE] [STATE] thread = <Thread(example9, stopped 140085114693184)> [/STATE]

test_multithreading_lock(0)

1: def test_multithreading_lock(execution_number):  # type: ignore[misc]
2:     """Reruns test multiple times since error is random and
3:     depends on CPU and can lead to false positive result.
4:
5:     """
6:     n_threads = 10
7:     n_requests = 30
8:     with responses.RequestsMock() as m:
9:         for j in range(n_threads):
10:             for i in range(n_requests):
11:                 m.add(url=f"http://example.com/example{i}", method="GET")
12:
13:         def fun():
14:             for req in range(n_requests):
15:                 requests.get(f"http://example.com/example{req}")
16:
17:         threads = [
18:             threading.Thread(name=f"example{i}", target=fun) for i in range(n_threads)
19:         ]
20:         for thread in threads:
21:             thread.start()
22:         for thread in threads:
23:             thread.join()
24:
25: test_multithreading_lock(0)

Question: What is the value of 'threads' in line 17 after executing 'test_multithreading_lock(0)'?

Answer: [<Thread(example0, initial)>, <Thread(example1, initial)>, <Thread(example2, initial)>, <Thread(example3, initial)>, <Thread(example4, initial)>, <Thread(example5, initial)>, <Thread(example6, initial)>, <Thread(example7, initial)>, <Thread(example8, initial)>, <Thread(example9, initial)>]


def _clean_unicode(url: str) -> str:
    """Clean up URLs, which use punycode to handle unicode chars.

    Applies percent encoding to URL path and query if required.

    Parameters
    ----------
    url : str
        URL that should be cleaned from unicode

    Returns
    -------
    str
        Cleaned URL

    """
    urllist = list(urlsplit(url)) # [STATE] urllist = ['http', 'example.com', '/test', 'type=2&ie=utf8&query=汉字', ''] [/STATE]
    netloc = urllist[1] # [STATE] netloc = 'example.com' [/STATE]
    if _has_unicode(netloc):
        domains = netloc.split(".")
        for i, d in enumerate(domains):
            if _has_unicode(d):
                d = "xn--" + d.encode("punycode").decode("ascii")
                domains[i] = d
        urllist[1] = ".".join(domains)
        url = urlunsplit(urllist)

    # Clean up path/query/params, which use url-encoding to handle unicode chars
    chars = list(url) # [STATE] chars = ['h', 't', 't', 'p', ':', '/', '/', 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', '/', 't', 'e', 's', 't', '?', 't', 'y', 'p', 'e', '=', '2', '&', 'i', 'e', '=', 'u', 't', 'f', '8', '&', 'q', 'u', 'e', 'r', 'y', '=', '汉', '字'] [/STATE]
    for i, x in enumerate(chars): #  [STATE] i = 0 [/STATE] [STATE] x = 'h' [/STATE] [STATE] i = 1 [/STATE] [STATE] x = 't' [/STATE] [STATE] i = 2 [/STATE] [STATE] i = 3 [/STATE] [STATE] x = 'p' [/STATE] [STATE] i = 4 [/STATE] [STATE] x = ':' [/STATE] [STATE] i = 5 [/STATE] [STATE] x = '/' [/STATE] [STATE] i = 6 [/STATE] [STATE] i = 7 [/STATE] [STATE] x = 'e' [/STATE] [STATE] i = 8 [/STATE] [STATE] x = 'x' [/STATE] [STATE] i = 9 [/STATE] [STATE] x = 'a' [/STATE] [STATE] i = 10 [/STATE] [STATE] x = 'm' [/STATE] [STATE] i = 11 [/STATE]
        if ord(x) > 128:
            chars[i] = quote(x) #  [STATE] chars = ['h', 't', 't', 'p', ':', '/', '/', 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', '/', 't', 'e', 's', 't', '?', 't', 'y', 'p', 'e', '=', '2', '&', 'i', 'e', '=', 'u', 't', 'f', '8', '&', 'q', 'u', 'e', 'r', 'y', '=', '%E6%B1%89', '字'] [/STATE] [STATE] chars = ['h', 't', 't', 'p', ':', '/', '/', 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', '/', 't', 'e', 's', 't', '?', 't', 'y', 'p', 'e', '=', '2', '&', 'i', 'e', '=', 'u', 't', 'f', '8', '&', 'q', 'u', 'e', 'r', 'y', '=', '%E6%B1%89', '%E5%AD%97'] [/STATE]

    return "".join(chars)

_clean_unicode('http://example.com/test?type=2&ie=utf8&query=汉字')

1: def _clean_unicode(url: str) -> str:
2:     """Clean up URLs, which use punycode to handle unicode chars.
3:
4:     Applies percent encoding to URL path and query if required.
5:
6:     Parameters
7:     ----------
8:     url : str
9:         URL that should be cleaned from unicode
10:
11:     Returns
12:     -------
13:     str
14:         Cleaned URL
15:
16:     """
17:     urllist = list(urlsplit(url))
18:     netloc = urllist[1]
19:     if _has_unicode(netloc):
20:         domains = netloc.split(".")
21:         for i, d in enumerate(domains):
22:             if _has_unicode(d):
23:                 d = "xn--" + d.encode("punycode").decode("ascii")
24:                 domains[i] = d
25:         urllist[1] = ".".join(domains)
26:         url = urlunsplit(urllist)
27:
28:     # Clean up path/query/params, which use url-encoding to handle unicode chars
29:     chars = list(url)
30:     for i, x in enumerate(chars):
31:         if ord(x) > 128:
32:             chars[i] = quote(x)
33:
34:     return "".join(chars)
35:
36: _clean_unicode('http://example.com/test?type=2&ie=utf8&query=汉字')

Question: What is the value of 'chars' in line 29 after executing '_clean_unicode('http://example.com/test?type=2&ie=utf8&query=汉字')'?

Answer: ['h', 't', 't', 'p', ':', '/', '/', 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', '/', 't', 'e', 's', 't', '?', 't', 'y', 'p', 'e', '=', '2', '&', 'i', 'e', '=', 'u', 't', 'f', '8', '&', 'q', 'u', 'e', 'r', 'y', '=', '汉', '字']