Khi tạo một mẩu đối tượng Request
, hãy áp dụng một số phương pháp mã hóa url. Để hoàn nguyên, bạn có thể sử dụng phần mềm trung gian tùy chỉnh và thay đổi url theo nhu cầu của mình.
Bạn có thể sử dụng một Downloader Middleware
như thế này:
class MyCustomDownloaderMiddleware(object):
def process_request(self, request, spider):
request._url = request.url.replace("%5B", "[", 2)
request._url = request.url.replace("%5D", "]", 2)
Đừng quên "kích hoạt" các trung gian trong settings.py
như vậy:
DOWNLOADER_MIDDLEWARES = {
'so.middlewares.MyCustomDownloaderMiddleware': 900,
}
Dự án của tôi được đặt tên so
và trong thư mục có một tập tin middlewares.py
. Bạn cần phải điều chỉnh chúng cho môi trường của bạn.
Nguồn
2017-02-27 17:26:45
Tuyệt vời, không bao giờ nghĩ về điều đó – Umair