🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Beautiful Soup

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

Python 3.x

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

Q&A

解決済

1回答

789閲覧

CSSセレクターを抽出したい(python scraping by BeautifulSoup)

taboopython

総合スコア40

Beautiful Soup

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

Python 3.x

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

0グッド

0クリップ

投稿2019/12/09 01:36

pythonでBeautifulSoupを使いスクレイピングをしています。
CSSセレクターを抽出したいのですが、次の記述だと抽出できない部分があるので、soup.select(" ")の記述の仕方がお分かりになる方がいらっしゃれば教えてください。

次のようにpythonを記述しhtmlをスクレイピングしたところ、、、、

python

1・・・・・(省略) 2li_list = soup.select(" div > div > p ") 3for li in li_list: 4 a = li.a 5 if a != None: 6 name = a.string 7 href = a.attrs["href"] 8 9 print(name, ">", href)

次のhtmlスクリプト内の2重線より上までは抽出できましたが、
2重線より下の部分がどうしても抽出できません。

2重線より上までは抽出できているのでCSSセレクター抽出の仕方に問題があると考えてますが、解決方法お分かりなればご教示いただければ幸いです。

(なお、seleniumで要素を直接抽出した場合は抽出できたのですが、CSSセレクターで抽出したいです。。)

html

1<div id="search_result" class=“s”> 2v<div class="item_box first_item"> 3v<div class="item"> 4v<div class="box"> 5<p class="m"> 6v<a href=“p/d/999999”> 7<img src="https://www.○○○> 8</a> 9</p> 10</div> 11v<div class="pin_detail"> 12<p class="abc”>&abc;pq</p> 13▼<p class="title"> 14<a href="Zname/detail/999999999”>abc / 15abc</a> 16                           17   ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 18   ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 19</p> 20<p class=“ptitle”>ABCABC</p> 21<p class="release_date">RA:2012/02/20</p> 22</div> 23v<div class="item_XYZ”> 24▼<p class=“XYZ_tei "> 25"○○:" 26<span class="text-red"> 27<strong>999</strong> 28</span> 29&abc; " 30</p> 31v<p class="timesale mgn"> 32“note” 33 34<br> 35<span class="time">2019-12-08 16:00:00~2019–12–09 15:59:59#T 36</span> 37</p> 38▼<p class=“XYZ_normal"> 39“normal&nbsp;" 40%3D 41<span class="s”>\9999</span> 42</p> 43<p class=“XYZ2_tei”>99999</p> 44</div> 45</div> 46

※その他環境 python3,Mac OSX

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

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

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

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

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

guest

回答1

0

自己解決

seleniumを使うことで解決しました

投稿2020/01/11 01:22

taboopython

総合スコア40

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問