替换在python中不起作用的字符

我正在使用漂亮的汤,并且正在编写一个爬虫,并且其中包含以下代码:


  print soup.originalEncoding

                #self.addtoindex(page, soup)



                links=soup('a')

            for link in links:


                if('href' in dict(link.attrs)):                   

                    link['href'].replace('..', '')

                    url=urljoin(page, link['href'])

                    if url.find("'") != -1:

                        continue

                    url = url.split('?')[0]

                    url = url.split('#')[0]

                    if url[0:4] == 'http':

                        newpages.add(url)

        pages = newpages

该link['href'].replace('..', '')应该修复出现为../contact/orderform.aspx、../contact/requestconsult.aspx等的链接。但是,它不起作用。链接仍带有前导“ ..”。我缺少什么吗?


慕森卡
浏览 380回答 3
3回答

烙印99

string.replace()返回具有替换值的字符串。它不会修改原始文件,因此请执行以下操作:link['href'] = link['href'].replace("..", "")

慕妹3146593

它不是就地替换。您需要做:link['href'] = link['href'].replace('..', '')例:a = "abc.."print a.replace("..","")'abc' print a'abc..'a = a.replace("..","")print a'abc'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python