【问题标题】:Test scrapy spider still working - find page changes测试scrapy spider仍然工作 - 查找页面更改
【发布时间】:2016-02-07 16:58:45
【问题描述】:

如何根据在线数据测试scrapy spider。

我现在从this 发帖说可以针对离线数据测试蜘蛛。

我的目标是检查我的蜘蛛是否仍然从页面中提取正确的数据,或者页面是否发生了变化。我通过 XPath 提取数据,有时页面接收和更新,我的刮刀不再工作。我希望测试尽可能接近我的代码,例如。使用spider和scrapy设置,然后加入parse方法。

【问题讨论】:

标签: unit-testing scrapy automated-tests scrapy-spider


【解决方案1】:

参考您提供的链接,您可以尝试此方法进行在线测试,我用于解决与您的问题相似的问题。您所要做的就是代替从文件中读取请求,您可以使用 Requests 库为您获取实时网页,并根据您从 Requests 获得的响应组成一个scrapy响应,如下所示

import os
import requests

from scrapy.http import Response, Request

def online_response_from_url (url=None):

    if not url:
        url = 'http://www.example.com'

    request = Request(url=url)


    oresp = requests.get(url)

    response = TextResponse(url=url, request=request,
    body=oresp.text, encoding = 'utf-8')

    return response

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-29
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多