当前位置: 首页 > 知识库问答 >
问题:

如何从收到的响应中提取html代码?

巫马安怡
2023-03-14

我可以通过Inspect工具找到HTML。我的代码返回的是html,我可以通过“查看页面源代码”工具看到它。因此,这意味着taht Javascript在嵌入代码之前会修改代码。但是,splash的角色是运行javascript并返回HTML,不是吗??回应。body返回页面的源代码,而不返回我上面提到的响应所需的html代码。

import scrapy
from scrapy_splash import SplashRequest
from bs4 import BeautifulSoup

class NetherSplashSpider(scrapy.Spider):
    name = 'nether_splash'
    download_delay = 10

    custom_settings = {
        'SPLASH_URL': 'http://localhost:8050',
        'DOWNLOADER_MIDDLEWARES': {
            'scrapy_splash.SplashCookiesMiddleware': 723,
            'scrapy_splash.SplashMiddleware': 725,
            'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
        },
        'SPIDER_MIDDLEWARES': {
            'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,
        },
        'DUPEFILTER_CLASS': 'scrapy_splash.SplashAwareDupeFilter',
    }

    def start_requests(self):
        yield SplashRequest(
            url='https://www.gaslicht.com/stroom-vergelijken?partial=true&aanbieders=eneco&skip=0&take=10&_=1559207102962',
            callback=self.parse,
        )


    def parse(self, response):



        filename = 'splash.html'
        with open(filename, 'wb') as f:
            f.write(response.body)

共有1个答案

东郭昌胤
2023-03-14

为了加载整个页面,您需要添加“wait”参数。尝试将“args={'wait':1.0}”添加到您的请求中。

yield SplashRequest(
            url='https://www.gaslicht.com/stroom-vergelijken?partial=true&aanbieders=eneco&skip=0&take=10&_=1559207102962',
            callback=self.parse, args={'wait': 1.0}
        )
 类似资料:
  • 我是Spring Reactive framework的新手&正在尝试将SpringBoot1.5.x代码转换为SpringBoot2.0。我需要从Spring5WebClient ClientResponse返回一些过滤后的响应头、主体和状态代码。我不想使用block()方法,因为它会将其转换为同步调用。我可以很容易地使用BodyTomono获得responsebody。此外,如果我只是返回Cl

  • 我在桌面应用程序中嵌入了一个http服务器,用于捕获来自OAuth2重定向的响应。下面的方法拾取消息并将其转换为字符串: 方法是一个将数据传递给另一个类的事件。成功进行身份验证调用后,数据内容如下所示:

  • 发布请求后,API 将响应正文作为字符串返回 身体的反应是这样的 {UniqueID=93243434,出生性别=M,出生日期=11/1/2018 5:51:18 PM,familyNames=James,givenNames=Test} 当我尝试使用以下代码设置环境变量时: 我得到了以下错误的测试结果 错误消息:评估测试脚本时出错:JSON error:1:3出现意外标记“u ”{ unique

  • 问题内容: 首先,我将自由地让自己成为一个笨拙的文科专家,他完全可以自学此脚本。就是说,我正在尝试使用以下代码从USGS水数据服务获取值: 尽管我找到了一些有关如何从JSON响应中提取所需值的教程,但大多数教程都非常简单。我遇到的困难是从该服务返回的看起来非常复杂的响应中提取出来的。查看响应,我可以看到我想要的是来自两个不同部分的值和一个时间值。因此,我可以查看响应并查看所需的内容,但我一生无法解

  • 我做了一个表格来捕获2个数据。 电子邮件地址 每个小组都有自己的电子表格。[根据发布的代码,每个人在同一个电子表格中都有自己的工作表。] 当用户提交表单时,表单应捕获电子邮件地址,并将数据发送到用户订阅的相应电子表格。 这就是我到目前为止所做的。我被卡住了... 有没有一种方法可以从特定的文本框/选项中检索数据...等等? 我知道的唯一方法是循环所有数据并逐个检索。。这使得我很难将两个数据链接在一

  • 问题内容: 我对iOS应用程序开发非常陌生,并且从服务器收到以下响应: 请任何人帮助我了解如何在我的应用程序中使用员工ID和员工姓名。 问题答案: 您的JSON数据看起来像“嵌套JSON”,这意味着您必须将其反序列化两次。 第一个反序列化从您的JSON数据中提取一个字符串: 现在是字符串 再次是JSON数据。第二个反序列化提取数组: 现在您可以像访问它