抱歉,我之前的回答有误。对不起给你带来混淆。问题出在查找的类名上。
在你的代码中,你使用了`class_='into'`去寻找元素,但是实际上豆瓣TOP250页面中没有`class="into"`这样的类名,所以返回的是一个空列表。如果你想打印出电影名称,可以根据豆瓣TOP250页面的结构,使用`class_='hd'`去寻找电影名称所在的元素。具体来说,电影名称是被包含在`<span class="title">`标签内的`<div class="hd">`标签中。
以下是修正后的代码示例,以获取电影名称为例:
import requests
from bs4 import BeautifulSoup
def open_url(url):
response = requests.get(url, headers={'User-Agent':'Mozilla/5.0'})
return response
def get_movie_names(response):
soup = BeautifulSoup(response.text, 'html.parser')
movie_names = []
count_items = soup.find_all('div', class_='hd')
for item in count_items:
spans = item.a.find_all('span')
if len(spans) >= 1:
movie_name = spans[0].text
movie_names.append(movie_name)
return movie_names
url = 'https://movie.douban.com/top250'
response = open_url(url)
movie_names = get_movie_names(response)
for name in movie_names:
print(name)
现在,我们使用`spans[0].text`获取第一个`span`标签,并将其文本内容添加到电影名称列表中。然后再遍历列表,打印出每个电影名称。
希望这次能够解决你的疑惑,对之前的回答错误向你道歉。如果还有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |