为什么通过url爬取到的直播图片显示不出来

图片描述

#encoding=utf-8
import urllib
import re
from bs4 import BeautifulSoup
url='http://www.douyu.com/directory'
html=urllib.urlopen(url).read()
soup=BeautifulSoup(html)
j=0
a=soup.find_all('img',src=re.compile(u'http.*?\.jpg'))
for i in a:
    urllib.urlretrieve(i['src'],'%d.jpg'%j)
    j+=1
阅读 3.7k
2 个回答

一个模块是 <img class="preview" data-original="http://staticlive.douyutv.com/upload/game_cate/c543faae97189c529c37b7741906d5a1.jpg" src="http://staticlive.douyutv.com/common/douyu/images/game_cate.jpg"/>

所以爬取的attribute不应该要 src 而应该 要 data-original

改为 urllib.urlretrieve(i['data-original'], '%d.jpg' % j)


实例结果可行c543faae97189c529c37b7741906d5a1.jpg

其实src和data-original其实都是可以获取图片的,一般网站都会有防爬虫的措施

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题