Итак, у меня есть две разные функции синтаксического анализа с основной функцией синтаксического анализа. Кажется, вполне нормально.
class abcspider(scrapy.Spider):
name = 'abc'
allowed_domains = []
start_urls = [The main url where products are located]
def parse(self, response):
"Extracted the url of each product located on the main url and created a list to loop through"
for url in urls:
yield scrapy.Request(url=url, callback=self.parseproduct)
def parseproduct(self, response):
"""Parse the page for some data and get a product id to form url1 and url2 from their respective url prefixes, which is already known"""
urls = [url1+url2]
for url in urls:
yield scrapy.Request(url=url, callback=self.parsejson)
def parsejson(self, response):
"""Parse the page for some data and get a product id"""
data = json.loads(response.text)
required_field = data["stock"]
Проблема в том, что response.text для двух разных URL-адресов не обновляется в кеше. Итак, я получаю одинаковые результаты для двух разных URL-адресов. Я проверил и убедился, что response.url возвращает правильные URL-адреса для обоих вызовов функции, но, по-видимому, тело ответа не обновляется при втором вызове функции.
Есть предложения? введите описание изображения здесь