在提取短评信息时出现数组下标越界

来源:1-4 BeautifulSoup库入门

weixin_慕设计1308382

2020-07-25 18:34:38

在提取短评信息时,发现评论信息在class="comment-info"下且拥有多个相同类名,我的思路是通过循环依次保存到列表中,但尝试后还是存在数组下标越界的异常,请问如何解决?

from bs4 import BeautifulSoup
import requests

# 定义URL
url_douban_movie = "https://movie.douban.com/subject/1292064/"
# headers
headers = {'user-agent': 'my-app/0.0.1'}
# 访问、并获取网页信息
response_douban_movie = requests.get(url=url_douban_movie, headers=headers)
# print(response_douban_movie.text)

print("-------------------------------------------------------------------------------")
# 解析网页
soup = BeautifulSoup(response_douban_movie.text, 'html.parser')

# print(soup.prettify())

# 提取目标信息
# 标题提取
# print(soup.title.string)
# print(soup.find_all(property="v:summary")[0].text)


# 提取短评信息
# print(soup.find_all("span",class_="comments-info")[0])

item=[]
for i in range(1000):
    item.append(soup.find_all("span",class_="comments-info")[i])

for i in range(1000):
    print(item[i])

http://img.mukewang.com/climg/5f1c0abb0951fbc624300798.jpg

写回答

1回答

DeltaF

2020-07-25

你的line29是这个吗:

for i in range(1000):
    item.append(soup.find_all("span",class_="comments-info")[i])

首先,你得保证soup.find_all里面comments-info有100条,所以,你先要确定soup里面有多少这个数据。有一个改善的方法,for i < len(soup.find_all("span",class_="comments-info"),你看下这个逻辑,是否ok?

1
heixin_慕设计1308382
h 我现在这个问题应该有思路了,当时还没看到后面的视频,谢谢老师
h020-07-25
共1条回复

人人都能学的数据分析

从0开始学数据分析,未来互联网各岗位的标配技能,产品经理、运营经理、技术人员人人必备,人人必会的的实用技能

1402 学习 · 1133 问题

查看课程