标签:
今天在写爬虫的时候遇到一个问题:需要下载图片,网页源代码中图片的路径是相对路径,前面用"../"来表示相对于当前网页的路径,由于有多层,因此最前面有多个"../"。
比如:网址URL是http://see.com/page/2012/86.html,图片的绝对路径是http://see.com/images/2012/86_1.jpg;则在86.html的源代码中,图片的相对路径是../../images/2012/86_1.jgp。提取出相对路径值后需要将"../"删除再连接上网站地址http://see.com,一直以为replaceAll方法就是替换所有,就毫不犹豫的使用了,结果替换后下载的图片无法显示,输出相关信息才发现使用repalceAll方法后得到的结果不正确。比如../../images/2012/86_1.jgp,理想的结果应该是images/2012/86_1.jgp,可实际的结果是imag2086_1.jgp,将所有满足"两个字符加上一个斜杠"的都删除了。
后来才发现replaceAll的第一个参数是一个正则表达式,所以会造成这种错误。
标签:
原文地址:http://www.cnblogs.com/luop/p/4484438.html