質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2903閲覧

PythonのBeautifulSoupで、「&」「<」「>」が変換されないようにするには

mariocart

総合スコア12

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/04/01 23:33

PythonのBeautifulSoupで、属性値を取得するとき、「&」「<」「>」といった値を変換せずにそのまま取得するにはどうしたらよいでしょうか。

このようなhtmlがあったとして、

<link rel="prev" href="https://example.com/5?sort=true&amp;order=desc">

https://example.com/5?sort=true&amp;order=desc
を取得したいのですが

以下のコードだと「&」が「&」に変換されて
https://example.com/5?sort=true&order=desc
となってしまいます。

Python

1html_doc = """ 2<link rel="prev" href="https://example.com/5?sort=true&amp;order=desc"> 3""" 4soup = BeautifulSoup(html_doc, 'html.parser') 5href = soup.find('link', {"rel":'prev'}).get("href") 6print(href)

どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

deadjupiter

2018/04/02 00:20

なんでそんな不毛なことしたいの?
mariocart

2018/04/02 00:37

自分で作ったサイトの確認用途なのですが、正しく「&amp;」「&lt;」「&gt;」にしているかも確認したいというのが理由です。
Zuishin

2018/04/02 04:12

加工済みのものをチェックしなくてもソースを見ればいいのでは?
guest

回答1

0

ベストアンサー

私もZuishin様に賛成ですが、どうしてもそのまま見たいのであれば

python

1href_raw = re.search(r'(.*href=")(.*desc)', str(soup.find('link', {"rel":'prev'}).get)).group(2) 2print(href_raw)

とすれば、できますね。
ただこれはBeautifulSoupの仕様変更や内部変更で使用できなくなるかもしれませんが。

投稿2018/04/02 11:02

ikapy

総合スコア1167

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mariocart

2018/05/28 04:31

すいません、お返事していませんでした。参考にして無事解決していました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問