一次抓取多个标签
scraping multiple tags at once
我正在尝试抓取 imdb 排名前 250 的电影,我想从此页面获取这些电影的所有 links https://www.imdb.com/chart/top/
我试过了
html = urlopen('https://www.imdb.com/chart/top/')
bs = BeautifulSoup(html,'html.parser')
links = []
for link in bs.find('td',{'class':'titleColumn'}).find_all('a'):
links.append(link['href'])
print(links)
但我只得到第一个 link,所以我的问题是如何扩展此代码以包含整个 250 部电影列表?
bs.find('td',{'class':'titleColumn'})
为您提供第一个条目,find_all('a')
为您提供该条目下的所有 <a>
标签。要查找您可以使用的所有条目
for link in bs.select('td.titleColumn > a'):
links.append(link['href'])
如果您仍想遍历标题列表并提取更多信息,您需要找到所有标题并从每个标题中提取 <a>
for title in bs.find_all('td', {'class': 'titleColumn'}):
links.append(title.find('a')['href'])
我正在尝试抓取 imdb 排名前 250 的电影,我想从此页面获取这些电影的所有 links https://www.imdb.com/chart/top/
我试过了
html = urlopen('https://www.imdb.com/chart/top/')
bs = BeautifulSoup(html,'html.parser')
links = []
for link in bs.find('td',{'class':'titleColumn'}).find_all('a'):
links.append(link['href'])
print(links)
但我只得到第一个 link,所以我的问题是如何扩展此代码以包含整个 250 部电影列表?
bs.find('td',{'class':'titleColumn'})
为您提供第一个条目,find_all('a')
为您提供该条目下的所有 <a>
标签。要查找您可以使用的所有条目
for link in bs.select('td.titleColumn > a'):
links.append(link['href'])
如果您仍想遍历标题列表并提取更多信息,您需要找到所有标题并从每个标题中提取 <a>
for title in bs.find_all('td', {'class': 'titleColumn'}):
links.append(title.find('a')['href'])