我是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
上已经出错。
答案 0 :(得分: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 conventions。您的变量命名可以使您(和其他开发人员)的生活更轻松。 (urlofmovie-> urls_of_movies)
但是,第二行htmlsource已经出错了。
请提供您收到的例外情况。