如何使用csv文件获取IMDb网址列表?
我有一个包含1000部电影的.csv文件(https://github.com/LearnDataSci/articles/blob/master/Python%20Pandas%20Tutorial%20A%20Complete%20Introduction%20for%20Beginners/IMDB-Movie-Data.csv),现在我需要为这1000部电影获取IMDb的网址。
我试过用Cinemagoer这个工具,但我不想一个一个手动输入这1000个电影的名字。有没有更高效的方法呢?
1 个回答
0
你可以解析这个表格,然后用'title'这一列来进行Cinemagoer的查询。接着,你可以获取ID,然后直接构造一个网址。
import requests
import csv
from imdb import Cinemagoer
from io import StringIO
TABLE_URL = 'https://github.com/LearnDataSci/articles/raw/master/Python%20Pandas%20Tutorial%20A%20Complete%20Introduction%20for%20Beginners/IMDB-Movie-Data.csv'
def get_table(url):
r = requests.get(url, stream=True)
return StringIO(r.content.decode())
def search_movie(interface, name):
movies = interface.search_movie(name)
return movies[0] if len(movies) > 0 else None
def form_url(movie):
return f'http://imdb.com/title/tt{movie.movieID}'
def main():
ia = Cinemagoer()
reader_obj = csv.reader(
get_table(TABLE_URL)
)
# Skip column names
next(reader_obj)
for row in reader_obj:
# 1 - is column with names
print(
form_url(
search_movie(ia, row[1])
)
)
main()