我一直收到错误:
的隐含语法1.add_xpath('tagLine', '//p[@class="tagline"]/text()')
我似乎无法弄清楚为什么它会给我这个错误,因为据我所知,它与所有其他1.add_xpath()方法的语法相同。我的另一个问题是如何请求其他页面。基本上我正在浏览一个大页面并让它浏览页面上的每个链接,然后一旦完成页面,我希望它转到下一个(按钮)下一个大页面,但我不知道怎么做。
def parse(self, response):
hxs = HtmlXPathSelector(response)
for url in hxs.select('//a[@class="title"]/@href').extract():
yield Request(url, callback=self.description_page)
for url_2 in hxs.select('//a[@class="POINTER"]/@href').extract():
yield Request(url_2, callback=self.description_page)
def description_page(self, response):
l = XPathItemLoader(item=TvspiderItem(), response=response)
l.add_xpath('title', '//div[@class="m show_head"]/h1/text()')
1.add_xpath('tagLine', '//p[@class="tagline"]/text()')
1.add_xpath('description', '//div[@class="description"]/span')
1.add_xpath('rating', '//div[@class="score"]/text()')
1.add_xpath('imageSrc', '//div[@class="image_bg"]/img/@src')
return l.load_item()
对此的任何帮助将不胜感激。在python和scrapy方面,我仍然有点像菜鸟。
答案 0 :(得分:1)
def description_page(self, response):
l = XPathItemLoader(item=TvspiderItem(), response=response)
l.add_xpath('title', '//div[@class="m show_head"]/h1/text()')
1.add_xpath('tagLine', '//p[@class="tagline"]/text()')
1.add_xpath('description', '//div[@class="description"]/span')
1.add_xpath('rating', '//div[@class="score"]/text()')
1.add_xpath('imageSrc', '//div[@class="image_bg"]/img/@src')
return l.load_item()
您有数字1
而不是变量名l
。