现在,Scrapy使用从LinkExtractor解析的链接从相对URL中创建一个粗俗的URL。我想确定解析的链接是否是相对URL,我该怎么做呢?
我看到在htmlparser.py中,一个相对URL与base_url结合在一起构成一个笨拙的URL,但是我不确定如何将link.url传递回bot.py
42 ret = []
43: base_url = urljoin(response_url, self.base_url) if self.base_url else response_url
44 for link in links:
45 if isinstance(link.url, six.text_type):
46 link.url = link.url.encode(response_encoding)
47 try:
48: link.url = urljoin(base_url, link.url)
49 except ValueError:
50 continue
我可以通过以下方式确定路径(link.url)是否是相对链接:
import urlparse
def is_absolute(url):
return bool(urlparse.urlparse(url).netloc)