永不秃头的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 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题