У меня есть код Python 3 с использованием Scrapy. Это часть кода:
import scrapy
...
class MySpider(scrapy.Spider):
name = 'example.com'
allowed_domains = ['example.com']
start_urls = [
'http://www.example.com/1.html',
'http://www.example.com/2.html',
]
def parse(self, response):
...
image_link = self.get_image_link(response)
try:
item = response.xpath("//*[@id='theid1']").extract_first()
except:
item = response.xpath("//*[@id='theid2']").extract_first()
...
Если я выполню код как обычно, в item
ничего не будет, но если я поставлю точку останова в этой строке:
image_link = self.get_image_link(response)
и пошагово выполняйте код, тогда у меня есть значения в item
.
Есть ли проблема синхронизации, о которой я должен знать? Связано ли это с асинхронным способом работы Scrapy? Как можно решить эту проблему?