问答详情
源自:4-2 python正则表达式练习

src下没有http

为什么我的src标签下没有http??

提问者:慕勒4252497 2017-12-11 17:09

个回答

  • 华灯初上丶
    2018-01-27 22:18:42


    import re


    import urllib




    req = urllib.request.urlopen('http://www.imooc.com/course/list')


    #此处加上decode(),不然拿下来的数据都是乱码


    buf = req.read().decode("utf-8")




    #老师讲课的url地址已经发生改变,改一下正则匹配就好


    # listurl = re.findall(r'src=.+\.jpg', buf)


    listurl = re.findall(r'//img.+?\.jpg', buf)


    # 改成非贪婪模式就行了






    #前面没有了http:,那么这里手动加上


    for index,app_id in enumerate(listurl):


        listurl[index] = str(app_id).replace('//', 'http://')


        print(index, listurl[index])


    print(listurl)






    i = 0


    for url in listurl:


        #写入模式修改为“wb+”,不然不支持将bytes写入,亲测


        f = open(str(i)+".jpg", "wb+")


        req = urllib.request.urlopen(url)


        buf = req.read()


        f.write(buf)


        i+=1


        f.close()


  • 地大新手
    2017-12-20 12:45:42

    我也是。。所以用正则表达式匹配不到需要的url地址~好尴尬

  • 慕粉4012628
    2017-12-12 04:37:04

    有时候url是相对地址,就是说前面还要加上服务器的地址。