2014-12-05 34 views
0

我正试图从kaggle.com/users下的配置文件和结果选项卡中抓取数据。在使用CSS填充内容的Python中刮取网站

我以前曾与BeautifulSoup合作过,并且知道如何获取个人用户的链接并导航到他们。但是,默认情况下仅填充“配置文件”选项卡。 “结果”选项卡内容仅在用户点击该内容后才动态填充。

如果您在id为'profile2-content'的div下查看,每个div下面对应于一个选项卡的内容,但除了其中一个子选项卡以外,其他所有选项都将样式设置为display:none。

一旦我到达每个用户的配置文件选项卡(默认情况下),然后如何获取要加载的结果内容。一旦完成,我可以查找ID为'profile2-content-results'的固定div并提取其内容。

感谢您的帮助!

+0

你的代码知道什么?什么不行?你想要从什么页面爬取什么信息 – 2014-12-05 08:28:03

+0

@VincentBeltman我期待提取配置文件和结果div下的HTML – PerennialN00b 2014-12-05 10:39:38

回答

0

它使用AJAX加载,可以从以下网址:kaggle.com/knockout/profiles/{user_id}/results

我建议你打开萤火/ Chrome浏览器开发工具,然后单击页面周围与网络选项卡打开,查看它们动态加载的内容。

+0

我看到,通过萤火虫的网络请求。但是,我希望结果div中包含HTML,而不是http://www.kaggle.com/knockout/profiles/{user_id}/results中提供的JSON数据。因此,我需要获取页面进行渲染,然后抓取HTML – PerennialN00b 2014-12-05 10:39:10

+0

或者,我可以使用mechanize和follow_link()跟随单词'Results'的链接,然后提取HTML?页面上只有一个链接,文本为“结果”。 – PerennialN00b 2014-12-05 10:49:09