为了账号安全,请及时绑定邮箱和手机立即绑定

为什么爬不到网页的地址啊,显示列表是空的

http://img1.sycdn.imooc.com//5a1973fb0001b78807030216.jpg

如图,listurl是空的列表,用的python3

正在回答

3 回答

我用的pycharm,今天才手写的代码,改了几个小地方,都写在注释里面,楼主看看注意到没有,谢谢。

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


1 回复 有任何疑惑可以回复我~

问题就是老师讲课的时候图片地址是你所写的,但是现在已经变成了

//img1.sycdn.imooc.com//598027a90001df8006000338-240-135.jpg

稍微修改一下就可以用了

0 回复 有任何疑惑可以回复我~

正则表达式写错了吧,是r''不是br''

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么爬不到网页的地址啊,显示列表是空的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信