Python 如何在scrapy中提取精确的标签

Python 如何在scrapy中提取精确的标签,python,html,web-scraping,scrapy,extract,Python,Html,Web Scraping,Scrapy,Extract,我为scrapy编写了一个类,以便获得如下页面内容: #!/usr/bin/python import html2text from scrapy.spider import BaseSpider from scrapy.selector import HtmlXPathSelector class StockSpider(BaseSpider): name = "stock_spider" allowed_domains = ["www.hamshahrionline.ir

我为scrapy编写了一个类,以便获得如下页面内容:

#!/usr/bin/python
import html2text
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector


class StockSpider(BaseSpider):
    name = "stock_spider"
    allowed_domains = ["www.hamshahrionline.ir"]
    start_urls = ["http://www.hamshahrionline.ir/details/261730/Health/publichealth"]

    def parse(self, response):
        hxs = HtmlXPathSelector(response)
#       sample = hxs.select("WhatShouldIputHere").extract()[AndHere]
        converter = html2text.HTML2Text()
        converter.ignore_links = True
        print converter.handle(sample)
我的主要问题是我评论它的状态

如何设置路径并提取参数

你能给我介绍一下,并给我举几个例子吗


谢谢

首先,您需要决定要从页面中获取哪些数据,定义一个类和一组。然后,为了用数据填充条目字段,需要在spider的
parse()
方法中使用
xpath
表达式

下面是一个从正文中检索所有段落的示例(我想是所有新闻):


请注意,我使用的是一个类,因为
HtmlXPathSelector
已被弃用。同样,出于同样的原因,我使用method而不是
select()

另外,请注意,您最好在单独的python脚本中提取
定义,以遵循以下步骤


希望对您有所帮助。

HtmlXPathSelector
已被弃用。使用
选择器
。有关几个示例,请参见本指南:
from scrapy.item import Item, Field
from scrapy.spider import Spider
from scrapy.selector import Selector


class MyItem(Item):
    content = Field()


class StockSpider(Spider):
    name = "stock_spider"
    allowed_domains = ["www.hamshahrionline.ir"]
    start_urls = ["http://www.hamshahrionline.ir/details/261730/Health/publichealth"]

    def parse(self, response):
        sel = Selector(response)
        paragraphs = sel.xpath("//div[@class='newsBodyCont']/p/text()").extract()
        for p in paragraphs:
            item = MyItem()
            item['content'] = p
            yield item