Python urllib2 和动态加载的数据

标签 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() 来 try catch 更改当页面加载但没有成功时。

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

最佳答案

从检查页面来看,所有新闻页面似乎都在每次请求时呈现;页码的散列似乎会触发 javascript,它确定显示新闻的“页面”。您应该能够通过单个请求访问所有新闻故事(使用 BeautifulSoup,您可以使用 news = contents.find_all(class_="newsheadlines") 获取所有新闻页面的包含元素,并且从那里解析单个页面)。

关于Python urllib2 和动态加载的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35439323/

相关文章:

python - Pandas 的日期差异

python - 属性错误: module 'tensorflow.python.keras.backend' has no attribute 'get_graph'

python - Python : urllib2, PycURL 或 Mechanize 哪个最好?

python - HTTP403 错误 urllib2.urlopen(URL)

python - Python 中的 OpenCV - 操作像素

python - 计数为 aggfunc 的数据透视表给出与 value_counts 不同的结果

python - matplotlib 曲面图隐藏了应该在前面的散点

python - 如何在 PIL 中打开来自 Internet 的图像?

Python howto 异常处理 <urlopen 错误 [Errno 54] Connection reset by peer>

Python 下载一个文件