使用 Python 请求模拟单击“显示更多”按钮

R.R*_*R.R 1 python web-scraping python-requests

我不确定使用什么代码来单击“显示更多”按钮。我想获得正在研究某个主题的大学名单。以下是其中一个网站

http://www.sciencedirect.com/science/article/

我们将非常感谢您的帮助

谢谢

Mic*_*haw 5

您不必在 Python 中模拟实际“单击”“显示更多”按钮来完成网络抓取。

网站中的“显示更多”按钮通常与某些 JavaScript 绑定,这些 JavaScript 要么显示 HTML 中已有的隐藏元素(典型示例请参阅Bootstrapcollapse类),要么向某些 Web 服务(例如REST API )发出请求以获取信息插入DOM中。

无论哪种方式,您都可以抓取该数据。对于前者,找到 DOM 中的隐藏元素(查看页面的源代码 [ Ctrl + U] 并搜索 HTML [ Ctrl + F]),然后使用典型的网页抓取工具。对于后者,当您单击“显示更多”时,请使用 Google Dev Tools 的 Network 选项卡之类的工具来检查 API 请求,然后尝试使用 Python 复制该请求。

在您给出的具体示例中,您想要的数据似乎作为<script>JSON 对象存储在 HTML 标记中。在 HTML 中搜索单词“affiliation”。