鱼C论坛

 找回密码
 立即注册
查看: 2408|回复: 5

[已解决]爬取优美图库的一个NoneType的bug

[复制链接]
发表于 2021-10-16 15:20:23 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 wmy1212 于 2021-10-17 20:31 编辑

代码奉上,报错在20行:
import requests # 发请求到服务器
from bs4 import BeautifulSoup
resp = requests.get('https://www.umei.cc/katongdongman/') #从服务器拿到源码
resp.encoding = 'utf-8'
# 解析html
main_page = BeautifulSoup(resp.text,'html.parser')
# 从页面中找到某些东西
# find() find_all()
alist = main_page.find('div',attrs = {'class':'TypeList'}).find_all('a',attrs = {'class':'TypeBigPics'})
# div是标签,后面是属性,是一一对应的
n = 1
for i in alist:
    # print(i.get('href'))
    #发送请求到子页面,进入子页面
    href = 'https://www.umei.cc/katongdongman/' + i.get('href')
    resp1 = requests.get(href)
    resp1.encoding = 'utf-8'
    child_page = BeautifulSoup(resp1.text,'html.parser')
    print(type(child_page))
    src = child_page.find('div',attrs = {'class':'ImageBody'}).find('img').get('src') # 问题出在这一行!!!!
    
    # 发送请求到服务器,把图片保存在本地
    # requests.get(src).content 向外拿出图片的数据,不是文本信息
    
    f = open('图_%d.jpg' % n,mode = 'wb')# wb表示写入的内容是非文本文件
    f.write(requests.get(src).content)
    print('恭喜你,下载了%d张图片!' % n)
    n += 1
    
f.close()

发生了报错:
AttributeError                            Traceback (most recent call last)
<ipython-input-6-16053cc4abc5> in <module>()
      7     child_page = BeautifulSoup(resp1.text,'html.parser')
      8     print(type(child_page))
----> 9     src = child_page.find('div',attrs = {'class':'ImageBody'}).find('img').get('src')
     10     # 发送请求到服务器,把图片保存在本地
     11     # requests.get(src).content 向外拿出图片的数据,不是文本信息

AttributeError: 'NoneType' object has no attribute 'find'

两个问题:
1.为什么说我的chila_page是NoneType?明明我打印了是<class 'bs4.BeautifulSoup'>
2.这个程序如果de完了bug,我用jupyter notebook跑出来之后,文件是保存在jupyter所在的文件夹里吗?
最佳答案
2021-10-16 15:20:24
find返回了None,也就是bs没找到元素

最佳答案

查看完整内容

find返回了None,也就是bs没找到元素
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-16 15:20:24 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
find返回了None,也就是bs没找到元素
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-16 16:22:03 | 显示全部楼层
好的吧,哪把悬赏给我吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-10-17 20:09:15 | 显示全部楼层
dd
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-10-17 20:10:35 | 显示全部楼层
benyazi 发表于 2021-10-16 16:22
好的吧,哪把悬赏给我吧

我重新编辑啦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-10-17 20:41:16 | 显示全部楼层
hrpzcf 发表于 2021-10-16 15:20
find返回了None,也就是bs没找到元素

啊,明白了!刚刚改了一下好了!就是我前面的网址拼接错了~重复了一部分qwq,谢谢~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 02:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表