我的scrapy蜘蛛不起作用

时间:2016-04-14 10:34:38

标签: python-2.7 scrapy-spider

我试图制作一个爬行tripadvisor.in的蜘蛛来提取一些数据,但我不知道为什么它不起作用。我的项目名称是蜘蛛侠。这是我做的蜘蛛::

import scrapy
from scrapy.selector import Selector
from spidey.items import tripad


class DmozSpider(scrapy.Spider):
    name="spidey"
    allowed_domains=["https://www.tripadvisor.in"]
    start_urls=['https://www.tripadvisor.in/Attractions-g297604-Activities-Goa.html']
    def parse(self, response):
    sel=Selector(response)

    sites=sel.xpath('//div[@id="FILTERED_LIST"]/div[@class="tmHide"]/div[@class="element_wrap"]/div[@class="wrap al_border attraction_element"]/div[@class="entry al_offer_group"]/div[@class="property_title"]').extract()
    items=[]
    for site in sites:
        item=tripad()
        item['name']=site.xpath('//h1[@id="HEADING" class="heading_name"]/text()').extract()
        items.append(item)

    return items

1 个答案:

答案 0 :(得分:1)

好吧,我会指出两个错误。可能会有更多。

  1. 正如@Rafael所说,allowed_domains错了。
  2. 缩进在Python中绝对重要。你的错了。
  3. 喜爱

    我试图制作一个爬行tripadvisor.in的蜘蛛来提取一些数据,但我不知道为什么它不起作用。我的项目名称是蜘蛛侠。这是我做的蜘蛛::

    import scrapy
    from scrapy.selector import Selector
    from spidey.items import tripad
    
    class DmozSpider(scrapy.Spider):
        name="spidey"
        allowed_domains=["tripadvisor.in"]
        start_urls=['https://www.tripadvisor.in/Attractions-g297604-Activities-Goa.html']
        def parse(self, response):
            sel=Selector(response)
    
            sites=sel.xpath('//div[@id="FILTERED_LIST"]/div[@class="tmHide"]/div[@class="element_wrap"]/div[@class="wrap al_border attraction_element"]/div[@class="entry al_offer_group"]/div[@class="property_title"]').extract()
            # I prefer to yield items:
            for site in sites:
                item=tripad()
                item['name']=site.xpath('//h1[@id="HEADING" class="heading_name"]/text()').extract()
                yield item
    
相关问题