在浏览器选项卡或ipython窗口中打开scrapy输出

时间:2016-05-26 15:39:43

标签: python scrapy

我做了scrapy tut后,我正在研究我的第一只蜘蛛:

class My_Spider(scrapy.Spider):

    name = "My_Spider"


    def start_requests(self):
        for i in range(1):
            yield Request('my_url', method="post", headers= headers, body=payload, callback=self.parse_method)


    def parse_method(self,response):
        print(response.body)

有没有办法在浏览器窗口标签或ipython笔记本中打开响应正文?

3 个答案:

答案 0 :(得分:7)

是的,Scrapy实用程序函数内置了open_in_browser()

from scrapy.utils.response import open_in_browser

open_in_browser(response)

答案 1 :(得分:0)

您可以使用Open in browser
文档中的示例:

from scrapy.utils.response import open_in_browser

def parse_details(self, response):
    if "item name" not in response.body:
        open_in_browser(response)

对于您的问题,它就像:

from scrapy.utils.response import open_in_browser
open_in_browser(response)

此外,我们可以看到网页使用scrapy shell
例如:

scrapy shell https://stackoverflow.com/questions/37465387/open-scrapy-output-in-browser-tab-or-ipython-window

,然后在浏览器中查看响应

view(response)

答案 2 :(得分:0)

在特定浏览器中打开响应对象

import webbrowser
from scrapy.utils.response import open_in_browser

open_in_browser(response, _openfunc=webbrowser.get('/path/to/browser/exe').open)