刮痧蜘蛛刮内容部分和离开其他

2024-05-15 11:45:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我定义了一个scrapy spider,它可以从https://www.cancercarenorthwest.com/survivor-stories抓取所有的名字和一些故事,而定义的xpath不能捕获故事

# -*- coding: utf-8 -*-

import scrapy
from scrapy.contrib.loader import ItemLoader
from scrapy.contrib.spiders import CrawlSpider,Rule
from scrapy.selector import XmlXPathSelector
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from cancerstories.items import CancerstoriesItem

class LungcancerSpider(CrawlSpider):
    name = "lungcancer"
    allowed_domains = ["coloncancercoalition.org"]
    start_urls = (
        'http://www.coloncancercoalition.org/community/stories/survivor-stories/',
    )
    rules = (
             Rule(SgmlLinkExtractor(allow=[r'http://www.coloncancercoalition.org/\d+/\d+/\d+/\w+']),callback='parse_page',follow=True),
             )

    def parse_page(self, response):
        Li = ItemLoader(item=CancerstoriesItem(),response=response)
        Li.add_xpath('name', '/html/body/div[4]/div[1]/div[1]/div/h1/text()')
        Li.add_xpath('story','//../div/div/p/text()')

        yield Li.load_item()

Tags: fromorgimportdiv定义responsewwwli