У меня есть код Python3, который использует Scrapy.
Когда я ставлю точку останова внутри def parse(self, response):
, тогда код работает как положено. Но если я запускаю его без точки останова в обычном режиме, он не делает то, что должен делать.
Есть ли какие-либо проблемы с , о которых следует знать?
Вот часть моего кода:
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()
...
tmp = 1
Когда я ставлю точку останова на image_link = self.get_image_link(response)
, тогда, когда я запускаю код шаг за шагом, я вижу, что item
имеет некоторые значения. Но если я поставлю точку останова на tmp=1
, я вижу, что item
равно None
. Также, если я запускаю код без точки останова, я не получаю ожидаемый результат, который показывает, что item
равно None
.
image_link = self.get_image_link(response)
просто находит URL изображения на веб-сайте.
В чем может быть проблема и как получить ожидаемый результат без запуска кода в режиме отладки?