dưới đây là mã nhện của tôi,Kết hợp địa chỉ cơ sở với href kết quả trong 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,'------->'
Ở đây tôi đang cố gắng để kết hợp các liên kết href với liên kết cơ sở, nhưng tôi đang nhận được lỗi sau,
exceptions.ValueError: Missing scheme in request url: www.domain.com//bookstore/detail/3271993?alt=Something+I+Had+To+Do
Bất kỳ ai cũng có thể cho tôi biết lý do tôi gặp lỗi này và cách tham gia url cơ sở với liên kết href và yêu cầu
Cảm ơn bạn rất nhiều tôi đã nhận được câu trả lời. –
Và đồng thời bạn có thể cho tôi biết sự khác biệt giữa urlparse và urljoin bởi vì bằng cách sử dụng bất kỳ một trong số họ quá tôi có thể nhận được câu trả lời –
Cả hai phương pháp urlparse.urlparse và urlparse.urljoin là một phần của mô-đun urlparse. Xem thêm: http://docs.python.org/library/urlparse.html –