提交表单并加载数据后,抓取网站

时间:2020-07-12 11:26:26

标签: javascript web-scraping scrapy phantomjs cheerio

我必须抓取一个我已审核过的网站,我意识到我不需要提交任何表格。我有所需的网址来获取数据。 我正在使用 NodeJs Phantom

我的问题源与会话或cookie有关(我认为)。

在我的Web浏览器中,我可以输入此链接https://www.infosubvenciones.es/bdnstrans/GE/es/convocatorias,并在蓝色按钮上单击“ Procesar consulta”文本。下表将被填写。在“网络”选项卡上的开发工具中,您可以看到一个XHR请求,其链接类似于https://www.infosubvenciones.es/bdnstrans/busqueda?type=convs&_search=false&nd=1594848133517&rows=50&page=1&sidx=4&sord=desc,如果在新选项卡中将其打开,则会显示数据。但是,如果您在其他网络浏览器中打开该链接,则会得到0条结果。

这就是NodeJs和Phantom发生在我身上的事情,我不知道如何解决它。

1 个答案:

答案 0 :(得分:0)

如果您想尝试Scrapy,https://docs.scrapy.org/en/latest/topics/dynamic-content.html解释了如何处理这种情况,建议您在完成本教程后阅读。

如果您使用其他抓取框架,则该页面也很方便,因为没有太多针对Scrapy的内容,对于Python特定的内容,我敢肯定会有JavaScript对应的内容。

至于Cheerio和Phantom,我对它们并不熟悉,但很可能也对它们适用。

它可以在任何网络客户端上使用,这仅仅是知道如何为此目的使用工具的问题。大多数工作都涉及使用Web浏览器工具来了解网站在下面的工作方式。

相关问题