Python urllib2和动态加载的数据

时间:2016-02-16 17:36:07

标签: python urllib2

我在Python中使用urllib2,我正在尝试从以下网址下载新闻报道列表:http://web.tmxmoney.com/news.php?qm_symbol=CM

但是,当我尝试从以下位置下载时,这是有效的: http://web.tmxmoney.com/news.php?qm_symbol=CM#qmpage2(以及后续页面),结果始终与第一页相同。

我使用以下命令将数据加载到字符串中:

contents = urllib2.urlopen(url).read()

我不确定如何将数据加载到后台的php页面中,但它似乎在加载后稍微发生,而不是作为直接查询给出在URL中发布的请求。

我已尝试time.sleep()并使用urllib2.Request().urlopen()尝试在网页加载时捕获更改,但没有成功。

有谁知道如何让urllib2在后​​续页面上获取内容#qmpage2,#qmpage3,...?

1 个答案:

答案 0 :(得分:1)

从检查页面看,似乎每个请求都会呈现所有新闻页面;页码的哈希值似乎触发了javascript,它决定了哪个“页面”的新闻被显示。您应该能够通过一个请求访问所有新闻报道(使用BeautifulSoup,您可以获取包含news = contents.find_all(class_="newsheadlines")所有新闻页面的包含元素,并从那里解析单个页面。