Scrapy – Как загрузить строку html в функцию open_in_browser

Я работаю над кодом, который возвращает строку HTML ( my_html ). Я хочу посмотреть, как это выглядит в браузере, используя https://doc.scrapy.org/en/latest/topics/debug.html#open-in-browser . Для этого я попытался создать объект ответа с телом, установленным в ' my_html '. Я пробовал кучу вещей, в том числе:

 new_response = TextResponse(body=my_html) open_in_browser(new_response) 

на основе класса ответа ( https://doc.scrapy.org/en/latest/topics/request-response.html#response-objects ). Я получаю:

 new_response = TextResponse(body=my_html) File "c:\scrapy\http\response\text.py", line 27, in __init__ super(TextResponse, self).__init__(*args, **kwargs) TypeError: __init__() takes at least 2 arguments (2 given) 

Как я могу заставить это работать?

2 Solutions collect form web for “Scrapy – Как загрузить строку html в функцию open_in_browser”

TextResponse ожидает URL как первый аргумент :

 >>> scrapy.http.TextResponse('http://www.example.com') <200 http://www.example.com> >>> 

Если вы хотите передать тело, вам все равно нужен URL-адрес в качестве первого аргумента:

 >>> scrapy.http.TextResponse(body='<html><body>Oh yeah!</body></html>') Traceback (most recent call last): File "<console>", line 1, in <module> File "/home/paul/.virtualenvs/scrapy12/local/lib/python2.7/site-packages/scrapy/http/response/text.py", line 27, in __init__ super(TextResponse, self).__init__(*args, **kwargs) TypeError: __init__() takes at least 2 arguments (2 given) >>> scrapy.http.TextResponse('http://www.example.com', body='<html><body>Oh yeah!</body></html>') <200 http://www.example.com> 

Ваша ошибка, похоже, TextResponse инициализацией TextResponse , согласно документам, вам необходимо инициализировать ее URL-адресом, TextResponse("http://www.expample.com") .

Похоже, вы смотрите на документы объекта Response и пытаетесь использовать TextResponse как и Response , взглядами вашего необязательного аргумента и ссылкой на документы.

  • Избегание перенаправления
  • Использование Scrapy с аутентифицированной (зарегистрированной) пользовательской сессией
  • Scrapy не работает с возвратом и уступает вместе
  • выпуск продукта в errback или в случае запроса 302
  • Scrapy: Каков правильный способ использования start_requests ()?
  • Scrapy - Ссылки на соскабливание, найденные при очистке
  • Как добавить новые запросы для моего Scrapy Spider во время сканирования
  • Как я могу сделать scrapy для обработки URL-адреса последовательно
  •  
    Interesting Posts for Van-Lav

    Периодически настраивать периодические задачи в сельдерее (celerybeat), используя add_periodic_task

    Как я могу fixTypeError: объект 'str' не может быть вызван?

    Python: создание матрицы с эффективной памятью для наборов 1, -1 и 0 для оптимизации с помощью scipy наименьших квадратов

    Быстрая перетасовка столбцов каждой строки numpy

    В чем разница между функцией pandas agg и apply?

    Могут ли именованные аргументы использоваться с перечислениями Python?

    NumPy: сравнение элементов в двух массивах

    Как я могу дублировать эту простую матричную функциональность с помощью mathplotlib?

    Как мне высмеять метод, который использует request.get в моем классе?

    Определение пользовательского дистрибутива PyMC

    Это ошибка в этом способе раздувания gzip?

    Как использовать что-то вроде openMP в Cython?

    Можно ли изменить параметры по умолчанию в Python?

    Почему функция получения Tkinter Entry не возвращает ничего?

    Есть ли способ переопределить методы двойного подчеркивания (магии) произвольных объектов в Python?

    Python - лучший язык программирования в мире.