1. ホーム
  2. python

[解決済み] pythonで文字の置換がうまくいかない [重複] [重複

2022-03-12 15:04:38

質問

私はbeautiful soupを使用しており、クローラーを作成しており、その中に以下のコードがあります。

  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 などのように表示されるリンクを修正するためのものです。 しかし、うまくいきません。 リンクにはまだ先頭の"..." があります。

解決方法を教えてください。

string.replace()は、置換された値を含む文字列を返します。 元の文字列は変更されないので、以下のようにしてください。

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