Python 刮擦错误:exceptions.AttributeError:&x27;HtmlResponse';对象没有属性';urljoin';
我已经使用pip安装了scrapy,并尝试了scrapy文档中的示例 我收到错误Python 刮擦错误:exceptions.AttributeError:&x27;HtmlResponse';对象没有属性';urljoin';,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我已经使用pip安装了scrapy,并尝试了scrapy文档中的示例 我收到错误无法导入名称xmlrpc\u客户端 在研究了一个问题之后 我用电脑把它修好了 sudo pip uninstall scrapy sudo pip install scrapy==0.24.2 但现在它向我显示了异常。AttributeError:'HtmlResponse'对象没有属性'urljoin' 这是我的密码: import scrapy class StackOverflowSpider(scra
无法导入名称xmlrpc\u客户端
在研究了一个问题之后
我用电脑把它修好了
sudo pip uninstall scrapy
sudo pip install scrapy==0.24.2
但现在它向我显示了异常。AttributeError:'HtmlResponse'对象没有属性'urljoin'
这是我的密码:
import scrapy
class StackOverflowSpider(scrapy.Spider):
name = 'stackoverflow'
start_urls = ['https://stackoverflow.com/questions?sort=votes']
def parse(self, response):
for href in response.css('.question-summary h3 a::attr(href)'):
full_url = response.urljoin(href.extract())
yield scrapy.Request(full_url, callback=self.parse_question)
def parse_question(self, response):
yield {
'title': response.css('h1 a::text').extract()[0],
'votes': response.css('.question .vote-count-post::text').extract()[0],
'body': response.css('.question .post-text').extract()[0],
'tags': response.css('.question .post-tag::text').extract(),
'link': response.url,
}
有人能帮我吗 在Scrapy>=0.24.2中,HtmlResponse
类还没有urljoin()
方法。直接使用:
full_url = urlparse.urljoin(response.url, href.extract())
别忘了导入它:
import urlparse
请注意,在Scrapy 1.0中添加了urljoin()
alias/helper,以下是相关问题:
您正在使用的示例代码适用于scrapy 1.0。由于您已降级到0.24,因此需要使用
urlparse
中的urljoin
:
full_url = urljoin(response.url, href.extract())
如果您单击示例上方的“Scrapy 0.24(旧版本)”按钮,您将获得您正在使用的Scrapy版本的示例代码。但是他们网站上显示的示例怎么可能是错误的?当我尝试使用URLPASSE时,它给了我
urljoin()至少2个参数(1个给定)
@user3437315该示例适用于Scrapy 1.0,而您使用的是0.24.2tanks,但是我在哪里可以得到Scrapy 0.24.2的文档呢?他们的网站上似乎没有website@user3437315尝试卸载scrapy并重新安装。我做到了。我得到无法导入名称xmlrpc_客户端错误!我也试着重新安装了六个,但没有成功!
full_url = urljoin(response.url, href.extract())