scrapy.Запрос не может загрузить страницу

#scrapy

#шершавый

Вопрос:

Описание

мой запрос: шире и глубже, дешевле и быстрее: тензорированные LSTM для изучения последовательности.

Функция get_url возвращает этот URL-адрес запроса: http://api.scraperapi.com/?api_key=apikeyamp;url=https://scholar.google.com/scholar?hl=en&q=Wider+and+Deeper%2C+Cheaper+and+Faster%3A+Tensorized+LSTMs+for+Sequence+Learning.amp;country_code=us

Но программное обеспечение не выполняет мою функцию обратного вызова self.parse. Для других запросов он выполняет функцию обратного вызова.

Мой Код

 def get_url(url):
    payload = {'api_key': API_KEY, 'url': url, 'country_code': 'us'}
    proxy_url = 'http://api.scraperapi.com/?'   urlencode(payload)
    print("request url:", proxy_url)
    return proxy_url

class ExampleSpider(scrapy.Spider):
    name = 'scholar'
    allowed_domains = ['api.scraperapi.com']

    def start_requests(self):
        queries = ["Wider and Deeper, Cheaper and Faster: Tensorized LSTMs for Sequence Learning.", "Decoding with Value Networks for Neural Machine Translation."]
        for query in queries:
            print("current query is:")
            print(query)
            self.query = query
            url = 'https://scholar.google.com/scholar?' 
                    urlencode({'hl': 'en', 'q': self.query})
            yield scrapy.Request(get_url(url), callback=self.parse,
                                 meta={'position': 0})
 

Версии

 Scrapy       : 2.4.1
lxml         : 4.6.1.0
libxml2      : 2.9.10
cssselect    : 1.1.0
parsel       : 1.6.0
w3lib        : 1.22.0
Twisted      : 20.3.0
Python       : 3.6.10 |Anaconda, Inc.| (default, Mar 25 2020, 23:51:54) - [GCC 7.3.0]
pyOpenSSL    : 19.1.0 (OpenSSL 1.1.1g  21 Apr 2020)
cryptography : 2.9.2
Platform     : Linux-5.4.0-53-generic-x86_64-with-debian-bullseye-sid
 

Комментарии:

1. Какой вывод у вас есть для приведенного выше кода?

2. @gangabass Для запроса «Шире и глубже, дешевле и быстрее: тензорированные LSTM для изучения последовательности»., Однако я не могу войти в свою функцию self.parse для запроса «Декодирование с помощью сетей значений для нейронного машинного перевода». Я могу войти в свою функцию self.parse. Итак, я думаю, что для первого запроса программа не вызывает мою функцию self.parse.

3. Я имею в виду отладочный вывод Scrapy console.

4. @gangabass Привет, gangabass, вывод отладки: игнорирование ответа <400 api.scraperapi.com/?api_key=my ключ api>: код состояния HTTP не обрабатывается или не разрешен.

5.На моей стороне все работает нормально с правильным API_KEY ключом.