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

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

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

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

Beautiful Soup

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

565閲覧

pythonのbs4を使ってhrefタグのurlを取得したい

ki-ma

総合スコア14

スクレイピング

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

Beautiful Soup

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2023/01/26 10:20

前提

pythonのBeautifulSoup4を使って https://altema.jp/pokemonsv/pokemonlist
こちらのサイトでポケモンの詳細urlを取得するシステムを作っています

実現したいこと

divタグの中のclassのnameの中にあるaタグにあるhrefを取得したい

発生している問題

欲しいurl以外にも関係ないurlも取得してしまう

該当のソースコード

python

1page_url = "https://altema.jp/pokemonsv/pokemonlist" 2 3r = requests.get(page_url) 4soup = BeautifulSoup(r.text, features="html.parser") 5 6details = soup.select('a[href*="pokemonsv/pokemon/"]') 7for detail in details: 8 print(detail.text)

試したこと

bs4のfind_allからselectに変更

補足情報(FW/ツールのバージョンなど)

vscode

python 3.10.0

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

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

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

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

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

otn

2023/01/26 10:44

欲しいURLと欲しくないURLをどうやって区別するのかを考えて、それをコードにします。 他人にはあなたが何を欲しくて何が不要なのか不明なのでなんとも。
meg_

2023/01/26 10:48

> 欲しいurl以外にも関係ないurlも取得してしまう 後処理で「関係ないurl」を削除する方法ではどうでしょうか?
guest

回答1

0

ベストアンサー

いろいろやり方はあると思いますが、こんなのでどうでしょう。
(find_allにしちゃいました。)

python

1details = soup.find_all('div', class_='name') 2for detail in details: 3 print(detail.find('a').attrs['href'])

このあと種族詳細ページの情報も取りに行くのだと思いますが、
当該サイトの利用規約に

第6条(禁止事項)
(12) 通常に本サービスを利用する行為を超えてサーバーに負荷を
かける行為もしくはそれを助長するような行為

とありますので、連続アクセスはほどほどに…。

投稿2023/01/27 02:52

poto568

総合スコア258

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

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

ki-ma

2023/01/31 10:01

返信ありがとうございます! こんなやり方もあるんですね!!勉強になりましたm(__)m 連続アクセスには、気を付けてやってみます<(_ _)>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問