单击网站上的按钮,然后抓取网页
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="&lid=testing&lpos=site_settings" data-value="testing">Testing</span>
这可能吗?我可以从页面上抓取我需要的所有数据,但我需要先点击按钮。
任何帮助将不胜感激
【问题讨论】:
【参考方案1】:如果有你想点击的按钮然后抓取然后执行以下操作:
-
检查按钮元素。按钮在点击后打开的链接将始终在您打开的 html 中。
抓取此链接并执行 requests.get(link) 。这相当于单击按钮。
但是当按钮需要激活一些应该在单击元素时运行的 js 功能时,这不适用。
【讨论】:
【参考方案2】:基本上,您有两种选择:
高级方法:使用 selenium
自动化真正的浏览器,或者换句话说,使浏览器重复所有用户操作以访问所需数据的页面.
低级方法:当您单击按钮时,调查幕后发生的事情 - 探索浏览器开发人员工具的“网络”选项卡并查看正在发出的请求。然后,在您的刮刀中模拟它们。在这里,您可以考虑使用requests
、mechanize
等工具进行请求、处理抓取会话、提交表单等,并使用BeautifulSoup
、lxml.html
等工具进行html 解析。另外,Scrapy
网络抓取框架是必看的。
【讨论】:
以上是关于单击网站上的按钮,然后抓取网页的主要内容,如果未能解决你的问题,请参考以下文章