a continuación es mi código de araña,Combinando url base con href resultante en scrapy
class Blurb2Spider(BaseSpider):
name = "blurb2"
allowed_domains = ["www.domain.com"]
def start_requests(self):
yield self.make_requests_from_url("http://www.domain.com/bookstore/new")
def parse(self, response):
hxs = HtmlXPathSelector(response)
urls = hxs.select('//div[@class="bookListingBookTitle"]/a/@href').extract()
for i in urls:
yield Request(urlparse.urljoin('www.domain.com/', i[1:]),callback=self.parse_url)
def parse_url(self, response):
hxs = HtmlXPathSelector(response)
print response,'------->'
Aquí estoy tratando de combinar el enlace href con el enlace de base, pero estoy recibiendo el siguiente error,
exceptions.ValueError: Missing scheme in request url: www.domain.com//bookstore/detail/3271993?alt=Something+I+Had+To+Do
Puede alguien que me haga saber por qué estoy recibiendo este error y cómo unirse url base con enlace href y el rendimiento de una solicitud
Muchas gracias, recibí la respuesta. –
Y al mismo tiempo puede decirme la diferencia entre urlparse y urljoin porque al usar cualquiera de ellos también puedo obtener la respuesta –
Ambos métodos urlparse.urlparse y urlparse.urljoin son parte del módulo urlparse. Vea también: http://docs.python.org/library/urlparse.html –