0

mechanize、urllib 或 beautifulsoup 是否有任何内置方法来处理具有绝对和相对 url 混合的网站的抓取?

解决方案有很多例外

'http://' + 'www.stackoverflow.com'
'http://www.stackoverflow.com' + '/questions/ask'

有更好的选择吗?

4

1 回答 1

1

作为记录,这是我的解决方案:)

domain = re.search('(http:\/\/.*\.\D+?|https:\/\/.*\.\D+?)\/',url.strip()).group(1)

if re.search('mailto',url.strip()) != None:
    pass
elif re.search('(http:\/\/.*\.\D+?|https:\/\/.*\.\D+?)\/',url.strip()) != None:
    u = url.strip().encode('utf8')
elif re.search('^/',url.strip()) != None:
    u = domain+url.strip().encode('utf8')
else:
    u = domain+'/'+url.strip().encode('utf8')
于 2012-06-13T09:33:13.170 回答