吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1379|回复: 22
收起左侧

[求助] python运行没问题,但是有个报错,哪的问题呢

[复制链接]
xuegaoxiansen 发表于 2022-10-4 12:09
本帖最后由 xuegaoxiansen 于 2022-10-4 12:25 编辑

[Python] 纯文本查看 复制代码
import requests
from bs4 import BeautifulSoup
import os

url = 'https://www.mmonly.cc/tag/yqmn/'

resp = requests.get(url)

html = (resp.content.decode('gbk'))

soup = BeautifulSoup(html,'html.parser')

titlea = soup.find_all('div',attrs={'class':'item_b'})

for item in titlea:

name = item.find_all('b')[0].text
    try:
        os.mkdir('./学习/'+name)
    except Exception as e:
        continue


报错内容
1.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

haidibingjing 发表于 2022-10-4 12:22
name = item.find_all('b')[0].text   应该是这里没有查到内容
 楼主| xuegaoxiansen 发表于 2022-10-4 12:24
haidibingjing 发表于 2022-10-4 12:22
name = item.find_all('b')[0].text   应该是这里没有查到内容

查到了呀,都成功的创建了文件夹并命名
运行没问题,就是看见这个报错想要知道怎么回事
haidibingjing 发表于 2022-10-4 12:29
xuegaoxiansen 发表于 2022-10-4 12:24
查到了呀,都成功的创建了文件夹并命名
运行没问题,就是看见这个报错想要知道怎么回事

我记得这个意思应该是超出索引范围,好久没写了
YuanFang0w0 发表于 2022-10-4 12:38
超出索引,你的内容不是一个列表或者列表为空
特别快递 发表于 2022-10-4 12:39
报错是因为类名为item_b的div标签,有的有<b>这个子标签有的没有,要在name = item.find_all('b')[0].text这一行前面加一个判断item.find_all('b')是否存在,你程序能正常运行应该是没有<b>的正好在你所需要的标签的后面所以文件依然正常建立了,但其实程序是运行终止了的

免费评分

参与人数 2吾爱币 +4 热心值 +2 收起 理由
LonelyFish + 1 + 1 用心讨论,共获提升!
xuegaoxiansen + 3 + 1 用心讨论,共获提升!

查看全部评分

hrpzcf 发表于 2022-10-4 12:57
你确定你发的代码是“学习.py”这个文件的吗?跟报错对不上啊,PyCharm点右上角运行的文件不一定是正在编辑的文件哦
netspirit 发表于 2022-10-4 13:01
切换成调试模式就能看到了
luxingyu329 发表于 2022-10-4 13:29

你的24行  name = item.find_all('b')[0].text 正则没有匹配到内容,是个空列表,所以是列表下标超出界限

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
xuegaoxiansen + 1 + 1 谢谢@Thanks!

查看全部评分

fanvalen 发表于 2022-10-4 13:47
如果titlea=['b','']中有一个为空,再匹配一下就是就是[],一个没有任何元素的列表你访问0下标必然是超出索引
建议你打印titlea来看看内容

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
xuegaoxiansen + 1 + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 06:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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