Python: Scrapy "response.xpath" не работает - PullRequest
0 голосов
/ 05 мая 2018

У меня есть код 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? Как можно решить эту проблему?

...