首页 > 解决方案 > Web抓取一个延伸到R中“下一页”页面(不更改url)的表

问题描述

我正在尝试从此页面中抓取表格。该表有大约 400 行,其中一次只显示 50 行。

即使我在显示后面的项目时打开源代码(单击下一步后),页面的源代码也只显示前50 个项目。源代码片段如下:

                                                50
                                        </td><td>
                                <span id="cphBody_GridPriceData_Labdistrict_name_49">Bangalore</span>
                            </td><td>
                                <span id="cphBody_GridPriceData_LabdMarketName_49">Bangalore</span>
                            </td><td>
                                <span id="cphBody_GridPriceData_Labcomm_name_49">Potato</span>
                            </td><td>
                                <span id="cphBody_GridPriceData_LabdVariety_49">Local</span>
                            </td><td>
                                <span id="cphBody_GridPriceData_LabdVariety_49">FAQ</span>
                            </td><td>
                                <span id="cphBody_GridPriceData_LabMinPrice_49">1800</span>
                            </td><td>
                                <span id="cphBody_GridPriceData_Labmaxpric_49">1900</span>
                            </td><td>
                                <span id="cphBody_GridPriceData_LabModalpric_49">1850</span>
                            </td><td>
                                <span id="cphBody_GridPriceData_LabReportedDate_49">06 May 2020</span>
                            </td>
            </tr><tr align="left">
                <td colspan="10"><table>
                    <tr>
                        <td><input type="image" src="../images/Next.png" alt=">" onclick="javascript:__doPostBack(&#39;ctl00$cphBody$GridPriceData&#39;,&#39;Page$Next&#39;);return false;" /></td><td><input type="image" src="../images/Last.png" alt=" >>" onclick="javascript:__doPostBack(&#39;ctl00$cphBody$GridPriceData&#39;,&#39;Page$Last&#39;);return false;" /></td>
                    </tr>
                </table></td>
            </tr>
        </table>

我不知道 Java,但从网上发现 R 中的 V8 包可用于网页上的 Java 渲染内容。在上面的代码中,我认为这onclick="javascript:__doPostBack(&#39;ctl00$cphBody$GridPriceData&#39;,&#39;Page$Next&#39;);return false;是可以访问表的下一部分的部分。该__doPostBack函数在上面页面的源代码中定义。

我将表格刮到第 50 行并使用html_nodes("script"). 但无法获取函数的调用部分。

如何从下一页获取数据?

为长篇道歉。

标签: rweb-scrapingrvest

解决方案


推荐阅读