慕勒4252497
2017-12-11 17:09
为什么我的src标签下没有http??
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()
我也是。。所以用正则表达式匹配不到需要的url地址~好尴尬
有时候url是相对地址,就是说前面还要加上服务器的地址。
python正则表达式
80575 学习 · 174 问题
相似问题
回答 1