Python 为什么response.urljoin()不能以Scrapy格式获取所有URL?

Python 为什么response.urljoin()不能以Scrapy格式获取所有URL?,python,scrapy,Python,Scrapy,当我抓取一个URL或用%20替换in URL来处理空格时,scrapy并没有得到整个URL。它仅显示链接图像中的一半 有人能告诉我为什么scrapy没有通过response.urljoin()获得整个URL吗 错误消息: 2020-01-07 23:09:19[scrapy.pipelines.files]警告:文件(代码:302):从中下载文件时出错http://www.oriental-patron.com.hk/opsl/dl_count.php?id=1986&type=company&

当我抓取一个URL或用
%20
替换in URL来处理空格时,scrapy并没有得到整个URL。它仅显示链接图像中的一半

有人能告诉我为什么scrapy没有通过
response.urljoin()
获得整个URL吗

错误消息:

2020-01-07 23:09:19[scrapy.pipelines.files]警告:文件(代码:302):从中下载文件时出错http://www.oriental-patron.com.hk/opsl/dl_count.php?id=1986&type=company&pdf_path=/u pload/File/Q%20Tech%20(1478%20HK)%20-%20中引用的%20CCM%20容量%20扩展%20-%20BUY.pdf>的加满%20放置%20 2020-01-07 23:09:19[scrapy.core.scraper]调试:从 {'file_url':['(2382%20HK)%20-%20十月%20装运%20在%20行%20和%20e中 预期%20-%20BUY.pdf'], “文件”:[]}


[链接到图片]

URL中有括号。看起来像是被刮到了脖子上。它们在URL中是“半保留”的,但在您拥有它们的地方应该是可以的。为了安全起见,你应该对它们进行编码。 一般来说,您不应该手工进行url编码,而是依赖于内置的度量。据我所知,您应该在Python中执行此操作:

import urllib.parse
urllib.parse.quote(url)

但我不懂Python。

你能以更具描述性的方式分享对上述问题所做的分析吗,它将帮助其他人为你的问题提供答案/解决方案。你为什么说Scrapy没有得到URL?屏幕截图显示了整个URL(只有一部分是蓝色的,但在那里绘制URL的人不是Scrapy,而是你的编辑器或终端)。谢谢你的回复,你可以看到上面我提到的错误