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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Python

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

Q&A

解決済

1回答

287閲覧

beautifulsoupの使い方

zombielove0908

総合スコア32

Beautiful Soup

Beautiful Soupは、Pythonのライブラリの一つ。スクレイピングに特化しています。HTMLデータの構文の解析を行うために、HTMLタグ/CSSのセレクタで抽出する部分を指定することが可能です。

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Python

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

1グッド

3クリップ

投稿2019/07/28 08:45

現在スクレイピングの練習をしているのですが、以下のサイトの人物をすべて取得したいのですが、なかなか取得することができません。(ex.by Abraham Lincoln(エイブラハム・リンカーン))
教えていただけたらありがたいです。

https://eikaiwa.dmm.com/blog/4690/

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

ATOMIX👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

即席のコードですので、少し汚いかもしれませんが、以下のようになりました。
コードの簡単な説明です。
requestsモジュールで、HTMLを取得します。
そして、bs4でそれを解析してreで正規表現にかけて取得する感じですね。
この際、正規表現の絞りが甘く、変な文字が入ってきたので、replaceを使って取り除いています。

python

1from bs4 import BeautifulSoup 2import requests 3import re 4from pprint import pprint 5 6url = 'https://eikaiwa.dmm.com/blog/4690/' 7html = requests.get(url).text 8soup = BeautifulSoup(html, "html.parser") 9 10tmp_list = soup.find_all(text=re.compile("by")) 11name_list = [] 12for line in tmp_list: 13 if '(' in line: 14 name_list.append(line.replace('\nby ', '').replace('\nby\xa0', '')) 15pprint(name_list) 16
出力結果 ['Abraham Lincoln(エイブラハム・リンカーン)', 'Mahatma Gandhi(ガンジー)', 'Johann Wolfgang von Goethe(ゲーテ)', 'Louisa May Alcott(ルイーザ・メイ・オルコット)', 'Walt Disney(ウォルト・ディズニー)', 'Walt Disney(ウォルト・ディズニー)', 'Winston Churchill(ウィンストン・チャーチル)', 'Elbert Hubbard\u3000(エルバート・ハバード)', 'Ralph Waldo Emerson(エマーソン)', 'Zig Ziglar(ジグ・ジグラー)', 'Helen Keller(ヘレン・ケラー)', 'Coco Chanel(ココ・シャネル)', 'George Bernard Shaw(バーナード・ショー)', 'Eleanor Roosevelt(エレノア・ルーズベルト)', 'Pope John Paul II(ヨハネ・パウロ2世)', 'René Descartes(ルネ・デカルト)', 'Albert Einstein(アインシュタイン)', 'Aristotle(アリストテレス)', 'Ralph Waldo Emerson(エマーソン)', 'Peter Drucker(ピーター・ドラッカー)', 'Aldous Huxley(オルダス・ハクスリー)', 'Mother Teresa(マザー・テレサ)', 'Mother Teresa(マザー・テレサ)', '14th Dalai Lama(ダライ・ラマ14世)', 'Martin Luther King, Jr.(マーティン・ルーサー・キング・ジュニア)', 'Nelson Mandela(ネルソン・マンデラ)', 'Abraham Lincoln(エイブラハム・リンカーン)', 'Albert Einstein(アインシュタイン)', 'Thomas Edison(トーマス・エジソン)', 'Charlie Chaplin(チャーリー・チャップリン)', 'Abraham Lincoln(エイブラハム・リンカーン)', 'Auguste Rodin(オーギュスト・ロダン)', 'Dale Carnegie(デール・カーネギー)', 'Antoine de Saint-Exupéry(サン=テグジュペリ)', 'Francis Bacon(フランシス・ベーコン)', 'René Descartes(ルネ・デカルト)', 'Michel de Montaigne(ミシェル・ド・モンテーニュ)', 'Napoleon Hill(ナポレオン・ヒル)', 'Johann Wolfgang von Goethe(ヨハン・ヴォルフガング・フォン・ゲーテ)', 'Will Rogers(ウィル・ロジャース)', 'Albert Schweitzer(アルバート・シュバイツァー)']

投稿2019/08/06 03:51

taka8poyo

総合スコア23

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問