单击网站上的按钮,然后抓取网页

Posted

技术标签:

【中文标题】单击网站上的按钮,然后抓取网页【英文标题】:Click button on website then scrape web page 【发布时间】:2015-01-05 13:32:48 【问题描述】:

我有一个网站,我想点击一个按钮,然后使用 python 抓取该网站,按钮之间的 html 代码是:

 <span id="exchange-testing" class="exchange-input nav-link" data track="&amp;lid=testing&amp;lpos=site_settings" data-value="testing">Testing</span>

这可能吗?我可以从页面上抓取我需要的所有数据,但我需要先点击按钮。

任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

如果有你想点击的按钮然后抓取然后执行以下操作:

    检查按钮元素。按钮在点击后打开的链接将始终在您打开的 html 中。 抓取此链接并执行 requests.get(link) 。这相当于单击按钮。

但是当按钮需要激活一些应该在单击元素时运行的 js 功能时,这不适用。

【讨论】:

【参考方案2】:

基本上,您有两种选择:

高级方法:使用 selenium 自动化真正的浏览器,或者换句话说,使浏览器重复所有用户操作以访问所需数据的页面.

低级方法:当您单击按钮时,调查幕后发生的事情 - 探索浏览器开发人员工具的“网络”选项卡并查看正在发出的请求。然后,在您的刮刀中模拟它们。在这里,您可以考虑使用requestsmechanize 等工具进行请求、处理抓取会话、提交表单等,并使用BeautifulSouplxml.html 等工具进行html 解析。另外,Scrapy 网络抓取框架是必看的。

【讨论】:

以上是关于单击网站上的按钮,然后抓取网页的主要内容,如果未能解决你的问题,请参考以下文章

抓取网页内容

使用需要单击“我同意cookies”按钮的Python(美丽的汤)抓取网页?

怎样抓取网站上的Cookie

请教网页里的特定数据怎么抓取?

通过 Python 中的网络抓取工具登录网站

如何批量抓取网页目录下的所有文件