假設我想為前 10 部電影抓取 imdb。我想獲取電影的標題和電影的演員。
我可以輕松獲取電影的標題并將它們附加到串列中。問題是我不知道如何將多個值附加到一行。假設第一部電影有 3 個演員,第二部電影有 5 個演員,如何將演員附加到串列中,以便第一部電影中的 3 個演員在串列的第 1 行,而第二部電影的 5 個演員在第 2 行等等。
uj5u.com熱心網友回復:
只是一種通用方法,因為您的問題中沒有提供代碼。
請求網站(例如前 250 部電影)并煮湯:
response = requests.get('http://www.imdb.com/chart/top')
soup = BeautifulSoup(response.text, 'lxml')
創建應存盤結果的空串列:
data = []
迭代您選擇的結果集(例如前 250 部電影)并將每次迭代的 dict 附加到您的串列中:
for e in soup.select('.titleColumn a'):
data.append({
'title':e.text,
'director':e['title'].split('(dir.),')[0],
'actors':e['title'].split('(dir.),')[-1]
})
data從您的字典串列中列印或創建資料框:
pd.DataFrame(data)
輸出
title director actors
0 Die Verurteilten Frank Darabont Tim Robbins, Morgan Freeman
1 Der Pate Francis Ford Coppola Marlon Brando, Al Pacino
2 Der Pate 2 Francis Ford Coppola Al Pacino, Robert De Niro
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/365337.html
