Bagaimana cara menghapus karakter atau simbol tambahan dari URL awal Scrapy?

Saya mendapat laba-laba Scrapy dan ketika saya menjalankan kode saya mendapatkan kesalahan ini

Mengabaikan respons ‹302 https://www.macys.com/>: Kode status HTTP tidak ditangani atau tidak diperbolehkan

Ini Laba-labaku

import scrapy
import urllib.parse
import random

class MacysspiderSpider(scrapy.Spider):
    name = 'macysSpider'
    allowed_domains = ['macys.com']
    start_urls = ['https://macys.com']

    def parse(self, response):
        pass

Saya memeriksa URL-nya, dan ketika saya menjalankan kodenya, ada ">" di akhir URL

https://www.macys.com/>

bagaimana cara menghapus UTF-8 ini dari URL awal?


person Santha Kumar    schedule 18.07.2019    source sumber


Jawaban (1)


Tidak yakin di mana Anda menemukan '>' sebagai bagian dari url, tapi menurut saya itu tidak ada hubungannya dengan masalah tersebut. Anda perlu mengatur beberapa header untuk mengikis situs web ini:

headers = {
    'authority': 'www.macys.com',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'en-GB,en;q=0.9,nl-BE;q=0.8,nl;q=0.7,ro-RO;q=0.6,ro;q=0.5,en-US;q=0.4',
}

Untuk menerapkan perubahan ini ke dalam permintaan pertama Anda, Anda dapat menimpa metode start_requests sebagai berikut:

def start_requests(self):
    for url in self.start_urls:
        yield Request(url, headers=self.headers)
person Wim Hermans    schedule 18.07.2019