如何在Python中获得动态生成的网页?

时间:2018-03-10 13:45:52

标签: python web-scraping python-requests

作为我发现网络抓取的一部分,我想浏览并获取我所有的Strava活动。我将使用Thibaut Pinot的配置文件作为示例。我正在使用Python 3和请求。

user's page上,人们可以看到他的每一项活动,但不是一次全部。实际上,它们按时间顺序排序,因此您必须使用时间轴。然后,您可以选择每周或每月显示活动并选择一段时间:所有这些都是通过GET请求完成的。更确切地说,片段标识符与以下正则表达式匹配:

(interval_type|graph_date_range)?chart_type=miles&interval_type=(week|month)&interval=[1-9]{6}&year_offset=[1-9]+

第一组似乎根本不重要。然后,interval_type指定是否显示每周或每月结果。 interval允许我们选择要显示的日期,使用格式 YYYYMM ,其中 YYYY 是年份, MM 月份/一周要显示。最后,year_offset并不是真的有用。因此,GET请求非常简单:我只需选择每月显示并迭代我想要监控的不同月份。

但是,您可以注意到在加载 https://www.strava.com/pros/1603067#interval_type?interval=201802&interval_type=month&chart_type=miles&year_offset=0(即显示2018年2月的运行的页面)时,会首先显示当前月份的结果,并且仅显示然后 2018年2月的结果。因此,无论我设置什么片段标识符,使用requests.get总是给我相同的页面。

我的网页浏览器必须在加载第一个网页(当前月份的网页)后才能获得一个新网页,但我怎么能用Python获取它呢?

0 个答案:

没有答案