gpt4 book ai didi

web-scraping - 名称错误 : name 'hxs' is not defined when using Scrapy

转载 作者:行者123 更新时间:2023-12-03 09:28:03 28 4
gpt4 key购买 nike

我已经启动了 Scrapy shell 并成功地 ping 维基百科。

scrapy shell http://en.wikipedia.org/wiki/Main_Page

我相信这一步是正确的,从 Scrapy 响应的冗长性质来看。

接下来我想看看我写的时候会发生什么

hxs.select('/html').extract()

此时,我得到了错误:

NameError: 名称 'hxs' 未定义

问题是什么?我知道 Scrapy 安装正常,接受了目标 URL,但为什么 hxs 命令会出现问题?

最佳答案

我怀疑您使用的 Scrapy 版本没有 hxs不再在外壳上。

使用 sel相反(0.24 后弃用,见下文):

$ scrapy shell http://en.wikipedia.org/wiki/Main_Page
>>> sel.xpath('//title/text()').extract()[0]
u'Wikipedia, the free encyclopedia'

或者,从 Scrapy 1.0 开始,您应该使用 response 的 Selector 对象, 它是 .xpath.css便捷方法:

$ scrapy shell http://en.wikipedia.org/wiki/Main_Page
>>> response.xpath('//title/text()').extract()[0]
u'Wikipedia, the free encyclopedia'

仅供引用,引自 Using selectors在 Scrapy 文档中:

... after the shell loads, you’ll have the response available as response shell variable, and its attached selector in response.selector attribute.
...
Querying responses using XPath and CSS is so common that responses include two convenience shortcuts: response.xpath() and response.css():

>>> response.xpath('//title/text()')
[<Selector (text) xpath=//title/text()>]
>>> response.css('title::text')
[<Selector (text) xpath=//title/text()>]

关于web-scraping - 名称错误 : name 'hxs' is not defined when using Scrapy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25955289/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com