我试图制作一个爬行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
答案 0 :(得分:1)
好吧,我会指出两个错误。可能会有更多。
allowed_domains
错了。喜爱
我试图制作一个爬行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