#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
ключом.