このようなリンク があります 、標準の英語キーボードには存在しない<a href=abc.asp?xyz=foobar&baz=lookatme´_beautiful.jpg>
この珍しい記号があります。このエディタ´
で生成するのはシンボルの鏡面反射です。Ctrl+k
したがって、stackoverflow で見つかったこのコードを実行した後:
soup = BeautifulSoup.BeautifulSoup("<a href=abc.asp?xyz=foobar&baz=lookatme´_beautiful.jpg>");
for a in soup.findAll('a'):
print a['href']
出力はですabc.asp?xyz=foobar&baz=lookatme
が、私はしたいですabc.asp?xyz=foobar&baz=lookatme´_beautiful.jpg
。私がスクレイピングしているウェブサイトは.br
ドメインにあります。リンクは英語ですが、一部の記述はポルトガル語ですが、その珍しい記号は有効な英語の記号ではない可能性があります。ご意見やご提案はありますか?
編集:Python文字列が私を生成した表現を見ましたが、それは<a href=abc.asp?xyz=foobar&baz=lookatme\xb4_beautiful.jpg>
1 つの方法は、カスタム regex を生成することです。このスニペットも stackoverflow からのものです。
import re
urls = re.findall(r'href=[\'"]?([^\'" >]+)', s)
beautifulsoup regex を変更できない場合、上記の正規表現を変更して\xb4
シンボルを組み込むにはどうすればよいですか。(問題の文字列はここにあります)