【发布时间】:2019-05-13 20:51:59
【问题描述】:
我是 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。
【问题讨论】:
-
urlofmovie 中有什么?你能发布完整的代码吗?你遇到了什么错误?
-
"我希望 'lengthofmovie' 会成为所有电影长度的列表" => 它不会 - 没有语言具有读心能力,所以如果你想要一个列表,你必须使用列表。
-
"但是,它已经在第 2 行出错了:htmlsource。" => 这是一个不同的问题。请每个问题发布一个问题。此外,当您的代码中有错误时,您应该发布确切的错误消息和完整的回溯 - 但在这种情况下,错误很可能是由于
requests.get返回一个HTTPResponse对象,而不是字符串。您想要响应的.text属性而不是(参见requestsdoc)。 -
如果我建议您有更好的方法来做到这一点怎么办?在这里试试这个 - pypi.org/project/IMDbPY
标签: python loops web-scraping imdb imdbpy