如何刮掉一个懒加载表单?

2024-09-30 02:31:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用scrapy1.2爬网一个在线数据库(http://bddatabase.net/jp/weapon/)。在

下面是我的代码:

class BdItemSpider(scrapy.Spider):
    name = "bdspider"

    start_urls = [
        "http://bddatabase.net/jp/weapon/"
    ]

    def parse(self, response):
        item = BdItem()
        items = response.xpath("//table[@id='WeaponTable']/tbody//tr/td/text()")
        print(items.extract())

这是日志:

^{pr2}$

它返回了一条从服务器加载数据的消息。 我发现页面在刷新表单1~1.5秒后就会加载表单。因此,我想知道如何才能正确地获取此表单中的项目,因为它似乎提供了一个动态表单而不是静态表单。在


Tags: 代码数据库http表单netresponseitemsdatabase
1条回答
网友
1楼 · 发布于 2024-09-30 02:31:49

我认为有两种方法可以解决这个问题。在

第一个,正如eLRuLL所评论的,是实际执行JavaScript呈现。然而,硒可能比需要的更复杂。您可以尝试使用无头浏览器,如PhantomJS或Splash。这些无头浏览器将为您呈现JavaScript。这种方法相对容易实现,但对刮板的性能有影响。在

第二个选项是实际抓取XHR请求的HTTP位置。在Firefox中,可以使用Firebug扩展过滤所有XHR请求并找到正确的请求。一般来说,这个选项可以提高性能,尽管实现起来可能更复杂。在

相关问题 更多 >

    热门问题