首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试在vscode调试控制台中执行scrapy FormResponse

尝试在vscode调试控制台中执行scrapy FormResponse
EN

Stack Overflow用户
提问于 2021-11-01 21:38:07
回答 1查看 51关注 0票数 0

我正在尝试学习如何使用python scrapy,我想知道我是否可以从vscode调试控制台手动请求网站。通常情况下,我会使用python请求和BeautifulSoup来获取网站html,并且我会键入以下内容

代码语言:javascript
运行
复制
resp = requests.get(website)

在vscode中直接进入调试控制台。从那里我可以向网站发出更多的请求,而不需要重新启动调试器。然而,当我使用scrapy时,我找不到一种方法来做同样的事情,因为scrapy请求会被产生/返回。我的请求示例:

代码语言:javascript
运行
复制
yield scrapy.Request(website, callback=self.parse_site})

如果我尝试将scrapy.Request(website ...)粘贴到vscode调试控制台中,我会得到一个抓取的请求对象,而不是我需要的响应。我在尝试处理这些请求,而不是在每次想发出调试器时都重新启动调试器。有没有办法做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2021-11-02 10:28:07

请查看scrapy shell的文档。

代码语言:javascript
运行
复制
# Either type:
scrapy shell 'https://www.somewebsite.com'

# or:
scrapy shell

# and then create the request and fetch it:
req = scrapy.Request(url='https://www.somewebsite.com')
fetch(req)

# now just get whatever you want from the response, for example:
response.status
response.xpath('//div//text()')

要在代码中间打开scrapy shell:

代码语言:javascript
运行
复制
def parse_func(self, response):
    from scrapy.shell import inspect_response
    inspect_response(response, self)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69803054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档