永不秃头的ssf 2019-02-16 20:38 采纳率: 0%
浏览 2087
已采纳

爬虫爬取图片时爬取的不完整的相关问题

我想要爬取lol官网的一些特定图片,不管是英雄图标还是活动图标:

图片说明

图片说明

由于电脑截图出了点问题,所以只能手机拍照,不好意思。

可以看到这个网页里面有很多这种图片,而且sec都是有类似的格式,以//ossweb-img.qq.com开头

我想爬取这些图片

我的代码:

import os
from urllib.request import urlopen
from urllib.request import urlretrieve
from bs4 import BeautifulSoup
import re

baseURL="http://lol.qq.com/main.shtml?ADTAG=lolweb.v3.index"

html=urlopen("https://lol.qq.com/main.shtml?ADTAG=lolweb.v3.index")

bsobj=BeautifulSoup(html,"lxml")

downloadlist=bsobj.findAll(src=re.compile(".*ossweb-img.qq.com.*png"))

print(downloadlist)
a=1
def cbk(a,b,c):        下载进度函数
    per=100.0*a*b/c
    if per>=100:
        per=100
    print ('%.2f'%per)

for download in downloadlist:
    fileURL=download['src']
    if fileURL is not None:
        fileURL="http:"+fileURL
        print(fileURL)
        urlretrieve(fileURL,"download"+str(a)+".png",cbk) 
        a=a+1

但是它只下载了该网页第一个div容器里的图片,其他的都没下载,这时为什么

  • 写回答

1条回答 默认 最新

  • HuaCode 2019-02-16 22:24
    关注

    图片说明
    我运行了出来了一些,但是还是没有出来完全,主要是你这个写的我感觉有点摸不着头脑^_^,我发现的一个问题就是你的匹配过程中没有匹配完全,因为你的网站中的图的类型有三种:png,jpg和gif,**(downloadlist=bsobj.findAll(src=re.compile('.*ossweb-img.qq.com/.*(png|jpg|gif)'**))
    )我建议你用一个框架,这样写起来会很容易,scrapy框架,对于初学者也很容易,给你推荐一篇博文:https://blog.csdn.net/HuaCode/article/details/79094541

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))