【发布时间】:2015-05-01 05:59:07
【问题描述】:
我正在编写一个抓取脚本来搜索和抓取网站的结果。我需要从网站搜索项目并从搜索结果中解析每个 url。我从 Scrapy 的 start_requests 开始,在那里我将传递搜索查询并重定向到另一个函数 parse,它将从搜索结果中检索 URL。最后我调用了另一个函数 parse_item 来解析结果。我能够提取所有搜索结果 url,但我无法解析结果(parse_item 不起作用)。代码如下:
# -*- coding: utf-8 -*-
from scrapy.http.request import Request
from scrapy.spider import BaseSpider
class xyzspider(BaseSpider):
name = 'dspider'
allowed_domains = ["www.example.com"]
mylist = ['Search item 1','Search item 2']
url = 'https://example.com/search?q='
def start_requests(self):
for i in self.mylist:
i = i.replace(' ','+')
starturl = self.url+ i
yield Request(starturl,self.parse)
def parse(self,response):
itemurl = response.xpath(".//section[contains(@class, 'search-results')]/a/@href").extract()
for j in itemurl:
print j
yield Request(j,self.parse_item)
def parse_item(self,response):
print "hello"
'''rating = response.xpath(".//ul(@class = 'ratings')/li[1]/span[1]/text()").extract()
print rating'''
谁能帮帮我。谢谢。
【问题讨论】:
标签: python python-2.7 web-scraping scrapy scrapy-spider