0

我是 Python 新手,正在尝试抓取 IMDB。我正在抓取 250 部顶级 IMDB 电影的列表,并希望获取每个独特网站的信息,例如每部电影的长度。

我已经有一个唯一 URL 列表。所以,我想遍历这个列表,对于这个列表中的每个 URL,我想检索那部电影的“长度”。这可以在一个代码中完成吗?

for URL in urlofmovie:
    htmlsource = requests.get(URL)
    tree_url = html.fromstring(htmlsource)
    lengthofmovie = tree_url.xpath('//*[@class="subtext"]')

我希望这lengthofmovie将成为所有电影长度的列表。但是,它已经在第 2 行出错了:htmlsource.

4

1 回答 1

2

要使其成为列表,您应该首先创建一个列表,然后将每个长度附加到该列表。

length_list = []
for URL in urlofmovie:
    htmlsource = requests.get(URL)
    tree_url = html.fromstring(htmlsource)
    length_list.append(tree_url.xpath('//*[@class="subtext"]'))

小提示:由于您是 Python 新手,我建议您复习一下 PEP8 约定。您的变量命名可以使您(和其他开发人员)的生活更轻松。(urlofmovie -> urls_of_movies)

但是,它在第​​ 2 行已经出错了:htmlsource。

请提供您收到的例外情况。

于 2019-05-13T11:14:40.513 回答