我想从像this这样的网站抓取数据。
要手动显示所有报价,必须点击页面底部的“显示更多结果”按钮,直到所有报价都显示出来。点击它后,一个 AJAX 请求被发送到服务器,服务器响应此事件显示更多HTML(我想刮取)。
请求副本URL如下所示:
https://www.cardmarket.com/en/Magic/AjaxAction
但我不想保留起始URL,而是加载更多内容。响应也不提供JSON或HTML,总是如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<ajaxResponse><rows>PGRpdiBpZ...</rows><newPage>1</newPage></ajaxResponse>
类似问题的其他答案通常会得到一个JSON作为响应或直接的HTML或推荐使用Beautiful Soup,但我也担心爬行速度。
如何加载缺少的HTML并以有效的方式获取数据?
1条答案
按热度按时间gdx19jrr1#
下面的
selenium, bs4 and pandas
示例运行得很顺利,我必须使用Javascript执行来单击并完成show more result
。范例:
输出: