【发布时间】:2020-02-14 20:32:44
【问题描述】:
我已成功抓取网页的图片和标题(代码中的 URL)。我想为此页面上的所有电影执行此操作。 'movie_list' 包含所有这些,但只抓取第一部电影信息。
我尝试将 .find 更改为 .find_all 但这给了我一个错误。
url = 'https://5movies.to/movie/'
content = session.get(url, verify=False).content
soup = BeautifulSoup(content, "html.parser")
movie_list = soup.find_all('div', {'class': 'movie-list'})
all_item = []
for allContainers in movie_list:
filmName = allContainers.find('img').get('alt')
filmFoto = allContainers.find('img').get('src')
filmLink = allContainers.find('a').get('href')
print(filmName)
【问题讨论】:
-
使用
find_all()而不是find()。和for-loop 从每个元素中获取src。如果您收到错误,请在问题中显示它。始终显示有问题的完整错误消息。 -
您必须将
print()放入for-loop 以显示所有filmName。或将值filmName放在某个列表上——即all_item.append(filmName)——然后显示该列表中的所有元素。变量filmName只能保留一个(最后一个)值。 -
您能发布一个工作示例以便我们尝试吗?
-
我尝试将 .find 更改为 .find_all 但这给了我一个错误。请分享整个错误消息,以及 minimal reproducible example。
标签: python for-loop web-scraping beautifulsoup