本文整理匯總了Python中scrapy.http.request.Request.meta['disease_item']方法的典型用法代碼示例。如果您正苦於以下問題:Python Request.meta['disease_item']方法的具體用法?Python Request.meta['disease_item']怎麽用?Python Request.meta['disease_item']使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類scrapy.http.request.Request
的用法示例。
在下文中一共展示了Request.meta['disease_item']方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: parse_disease
# 需要導入模塊: from scrapy.http.request import Request [as 別名]
# 或者: from scrapy.http.request.Request import meta['disease_item'] [as 別名]
def parse_disease(self, response):
"""解析【疾病】頁麵"""
disease_item = DiseaseItem()
disease_item['url'] = response.url
_name = response.xpath('//div[@class="p_lbox1"]/div[@class="p_lboxti"]/h3')
disease_item['name'] = _name.xpath('text()').extract()[0]
_other_name = _name.xpath('var/text()').extract()
if _other_name:
begin = _other_name[0].find(':') + 1
end = _other_name[0].rfind(')')
disease_item['aliases'] = re.split(',|,', _other_name[0][begin:end])
_related = response.xpath('//div[@id="yw4"]/div/div/div')
disease_item['related_diseases'] = _related.xpath('ul/li/a[contains(@href, "/jibing/")]/@title').extract()
disease_item['related_symptoms'] = _related.xpath('ul/li/a[contains(@href, "/zhengzhuang/")]/@title').extract()
# print disease_item['related_diseases'], disease_item['related_symptoms']
# print disease_item
yield disease_item
# Go on parsing details
detail_urls = response.xpath('//div[@class="p_lbox1_ab"]/a/@href').extract()
detail_urls += response.xpath('//ul[@class="p_sibox2ul clears"]/li/a/@href').extract()
# print detail_urls
for url in detail_urls:
request = Request(url=url, dont_filter=True, callback=self._parse_disease_detail)
request.meta['disease_item'] = disease_item
yield request
# Go on parsing questions
question_url = response.xpath('//div[@class="p_lbox5"]/div[@class="p_lboxti"]/a/@href').extract()[0]
request = Request(url=question_url, dont_filter=True, callback=self._parse_disease_question)
request.meta['disease_item'] = disease_item
# print request
yield request