【发布时间】:2015-02-22 02:25:10
【问题描述】:
我正在尝试在 IMDb 上获取电影的标题:
http://www.imdb.com/title/tt0049902/
但是,如果我这样做:
$ curl http://www.imdb.com/title/tt0049902/
所包含的标题是 Un condamné à mort s'est échappé ou Le vent souffle où il veut,而不是“A Man Escaped”,这正是我想要的。这是 curl 响应的 HTML:
<h1 class="header"> <span class="itemprop" itemprop="name">Un condamné à mort s'est échappé ou Le vent souffle où il veut</span>
<span class="nobr">(<a href="/year/1956/?ref_=tt_ov_inf"
>1956</a>)</span>
</h1>
看起来英文标题必须在初始页面加载后插入。那我该如何获取这个标题呢?
【问题讨论】:
-
看起来没有办法严格从您从 curl 获得的初始 HTML 转储中获取它。也许最好使用他们的official API 而不是抓取他们的网页。
-
如果它不在源代码中,那么它很可能注入了脚本。您需要一个无头浏览器来生成生成的 html
-
实际上,正如我刚刚回答的那样,您似乎只需要指定适当的
Accept-Language标头 - 所以我相信不涉及 javascript(但我不确定所以我离开了标记)虽然我100%确定python不是(所以我确实删除了那个流浪标签)。借调@HuuNguyen 的建议,即更喜欢官方 API 而不是抓取:-)
标签: javascript curl