Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 机械化、urllib、美化集团;相对路径_Python_Web Crawler_Beautifulsoup_Mechanize_Urllib2 - Fatal编程技术网

Python 机械化、urllib、美化集团;相对路径

Python 机械化、urllib、美化集团;相对路径,python,web-crawler,beautifulsoup,mechanize,urllib2,Python,Web Crawler,Beautifulsoup,Mechanize,Urllib2,mechanize、urllib或beautifulsoup是否有任何内置方法来处理混合使用绝对URL和相对URL的网站爬网 一个解决方案是有很多例外 'http://' + 'www.stackoverflow.com' 'http://www.stackoverflow.com' + '/questions/ask' 有更好的选择吗?记录在案,这是我的解决方案:) domain = re.search('(http:\/\/.*\.\D+?|https:\/\/.*\.\D+?)\/',u

mechanize、urllib或beautifulsoup是否有任何内置方法来处理混合使用绝对URL和相对URL的网站爬网

一个解决方案是有很多例外

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

有更好的选择吗?

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

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')