Python - 使用按钮更改网站上的过滤器并下载结果数据

时间:2018-01-29 10:56:17

标签: python web-scraping

我试图从2016年1月起每周下载前100个程序:http://www.barb.co.uk/project-dovetail/top-100-programmes-broadcasters-own-player-apps/

要做到这一点,我需要更改“年”,“月”和“周”过滤器以及更改“活动”过滤器,这样我就可以获得每周“直播”和“实时流”的数据一经请求'。其他过滤器将保持不变。一旦设置了正确的过滤器,我想下载结果数据。这可以使用“下载CSV”按钮或任何其他方式完成。

我有一些有限的网络抓取经验,使用美丽的汤和请求。

如何才能最好地接近这个?

谢谢!

1 个答案:

答案 0 :(得分:0)

通常,要废弃数据,您必须查看浏览器向服务器发送的任何事件的请求。

在您的情况下,如果您签入网络浏览器的开发者工具,您可以轻松地发现浏览器发送了带有网址POST的{​​{1}}请求。

因此,您可以使用http://barb-api.mediatel.co.uk/tv-player-report/top-programmes-broadcasters-own-player-apps发送帖子请求,例如:

requests.post()

通过查看浏览器开发者工具中的源代码,您可以看到过滤器的req = requests.post('http://barb-api.mediatel.co.uk/tv-player-report/top-programmes-broadcasters-own-player-apps', data = {'period':201801060107,'activity':1,'player[]':6,'channel[]':27,'platform[]':1}) periodactivityplayer[]channel[]个名称< / p>