Scrapy - analyser une page afin d'extraire les éléments - ensuite, suivre et stocker de l'élément de contenu de l'url

J'ai une question sur la façon de faire cette chose en scrapy. J'ai une araignée qui rampe pour les pages de liste d'éléments.
Chaque fois qu'une page de la liste est trouvé, avec des articles, il y a le parse_item() de callback qui est appelée pour l'extraction des éléments de données, et de donner des éléments. C'est très bien, tout fonctionne très bien.

Mais chaque élément, parmi d'autres données, une url, avec plus de détails sur ce point. Je veux suivre cette url et de les stocker dans un autre champ d'élément (url_contents) extraites contenu de l'élément de l'url.

Et je ne suis pas sûr de savoir comment organiser le code de réaliser que, depuis les deux liens (listes de lien, et en particulier d'un élément de liaison) sont suivies de manière différente, avec des rappels appelé à des moments différents, mais j'ai de les corréler dans le même élément de traitement.

Mon code ressemble tellement loin de cela:

class MySpider(CrawlSpider):
    name = "example.com"
    allowed_domains = ["example.com"]
    start_urls = [
        "http://www.example.com/?q=example",
    ]

    rules = (
        Rule(SgmlLinkExtractor(allow=('example\.com', 'start='), deny=('sort='), restrict_xpaths = '//div[@class="pagination"]'), callback='parse_item'),
        Rule(SgmlLinkExtractor(allow=('item\/detail', )), follow = False),
    )


    def parse_item(self, response):
        main_selector = HtmlXPathSelector(response)
        xpath = '//h2[@class="title"]'

        sub_selectors = main_selector.select(xpath)

        for sel in sub_selectors:
            item = ExampleItem()
            l = ExampleLoader(item = item, selector = sel)
            l.add_xpath('title', 'a[@title]/@title')
            ......
            yield l.load_item()
InformationsquelleAutor StefanH | 2011-04-28