くだすれPython(超初心者用) その50【まず1嫁】at TECH
くだすれPython(超初心者用) その50【まず1嫁】 - 暇つぶし2ch757:デフォルトの名無しさん
20/10/08 01:22:27.90 1g9i4qXr.net
beautifulsoupでaタグかつurlがhoge.comのものを抜き出したいです
find_all('a', href='hoge.com')
みたいに指定することってできませんかね?

758:デフォルトの名無しさん
20/10/08 01:45:18.37 JmsYJukt.net
あの手ーション&この手ーション

759:デフォルトの名無しさん
20/10/08 02:06:20.71 HhpSErmL.net
Ruby, Nokogiri で、
CSS セレクター、a[href="abc.com"] で検索すると、
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<html><body>
<a href="abc.com">abc</a>
<a href="xyz.com">xyz</a>
</body></html>
EOT
elems = doc.css( 'a[href="abc.com"]' )
puts elems[ 0 ].text #=> abc

760:デフォルトの名無しさん
20/10/08 09:28:58.45 VGrMCloP.net
>>755
ケンタは古いタイプのエンジニアでGUIやフロントはまったくできないから参考にならんよ
ユーザーが使う側の開発できない奴はそっちはデザイナーがどうのこうのとか見向きもしないからな
デザイナーがReactとかやるのかよ

761:デフォルトの名無しさん
20/10/08 10:24:27.09 Riy1MZEi.net
>>748
エクスポートしてxml読めば済む

762:デフォルトの名無しさん
20/10/08 11:59:02.44 CGx3HaIV.net
全部pythonでやりたければブックマークが保存されてるテーブルをsqliteで読む

763:デフォルトの名無しさん
20/10/08 15:08:11.91 .net
>>757
import requests
from bs4 import BeautifulSoup as _soup
import re
res = requests.get("URLリンク(httpbin.org))
bs = _soup(res.text, "html.parser")
href = bs.find_all(href=re.compile(r'github\.com'))
print(href)

764:デフォルトの名無しさん
20/10/08 15:11:13.98 .net
訂正 bs.find_all("a",href=re.compile(r'github\.com'))

765:デフォルトの名無しさん
20/10/08 15:39:47.21 2MDBS5OX.net
beautifulsoupの質問する人のCSSセレクター使わなさ加減はもはや異常だね
ドキュメントがクソ過ぎるのかな

766:デフォルトの名無しさん
20/10/08 16:05:22.31 .net
find_allにしてるのが何か意味あるのかなと思ったわ
正規表現使い回ししたいとか

767:デフォルトの名無しさん
20/10/08 16:09:57.20 .net
a = bs.select('a[href*="github.com"]')
デメリットあるのだろうか

768:デフォルトの名無しさん
20/10/08 16:32:30.91 CsRfWIRf.net
あのドキュメントはリファレンスでなくクックブック的すぎる

769:デフォルトの名無しさん
20/10/08 21:55:56.17 mAtyzW7J.net
スクレイピングしたいなんかの目的だけ先にあって、
そのための最短の勉強しかしてないからCSSセレクタの利便性、確実性がわからん、ってなってるんじゃないの?
Webのコーディングしたことある人なら結局人間の見た目に関わることはほとんどCSSセレクタで実現してると
経験してるからCSSセレクタが確実と理解できるのだろうけど。
自分もbeautifulsoupやってから仕事でデザインデータからHTML/CSS書くようになったから、
所詮CSSなんて飾りでしょみたいに軽く考えてた人の気持ちはよくわかる。

770:デフォルトの名無しさん
20/10/08 22:08:49.59 dKN9eI5x.net
自分の目的に必要ないものって興味わかないんだよな
Pythonはじめる前は本買って全部マスターしてやろうと思ってたけど、結局必要な知識以外覚える気なくなった
何かコードがあっても自分の目的のものに使えるかどうかでしか見ない。それ以外はただの豆知識としてスルー

771:デフォルトの名無しさん
20/10/08 22:30:03.79 1g9i4qXr.net
>>763
ありがとうございます
無事できました
CSSセレクタは普段はFirefoxの開発者ツールで算出したものをそのまま使っているのですが,今回はHTMLの仕様が特殊?なのか分かりませんが
うまくtextを抽出することができなかった(return が None)ので,findで無理やり抽出しました
こういった場合はどうすれば上手くいくんですかね?
Python
pastebin.com/7D70dGUk
対象のHTML
pastebin.com/M7k2wffz

772:デフォルトの名無しさん
20/10/08 22:33:44.13 P2KBMrMO.net
HTMLのスクレイピングにCSSセレクターの基礎知識は必須でしょ
だけどbeautifulsoupの質問してくる人の大半がCSSセレクターの存在すら把握してなさそうな印象を受ける
他の言語では見られないパターンだからbeautifulsoup固有の問題だと思う

773:デフォルトの名無しさん
20/10/08 23:06:03.88 mAtyzW7J.net
>>772
猫も杓子もPythonと言ってて、プログラミング始めた人たちがまず始めに触るのが
Pythonだという状況もあるんじゃないか
スクレイピングならbeautifulsoupを使いましょうとだけ言ってめちゃくちゃ簡単な例だけ示してる適当な本が多いとかもなんとなくありそうな気がする
CSSセレクタの知識は必須だというのには同意なんだけど、初心者は「なんで余計なことが色々書いてあるんだろう、この本はわかりにくい」とか判断して買わずにそういう適当な本を買いそうだし

774:デフォルトの名無しさん
20/10/08 23:17:32.12 /IDYCNHK.net
いくつか質問があります
教えていただければ幸いです
機械学習のためにAnacondaをインストールして使っています
IDE環境は何がおすすめでしょうか?
Pyhon3ではprintに()が必要とのことですが省略する方法は無いものでしょうか?
()を毎回打つのが思いの外苦痛ですがみんな気になりませんか?
エディタについてスペースが多いようですがタブではダメですか?
タブだとカーソル移動、例えば→1回でネスト後の文に移動できますが、
スペースだと4回も押す必要があり
更にネストがあると移動するだけで8回も押す必要があり使いづらく思っています
更に7スペース目で文を書くとエラーが出るなどタブと異なりスペースは使いづらく思うのです
エディタは一応昔からなので秀丸ですが設定次第でしょうか?
ヒア文?について、"文字" よりも '文字' をよく見かけますが'って打ちにくくないですか?

775:デフォルトの名無しさん
20/10/08 23:25:28.57 /IDYCNHK.net
>>769
CSSセレクター?DOM?
よくわからないけど、HTMLをタグで解析する方法じゃダメなの?
HTMLに問題があっても取得できることが多いし(エラーを吐いて止まらない)
何よりHPの更新があっても一度書けば意外と動き続けるイメージがある
例えば現在値XXX円</tag>
こんな感じだと現在値 と 円</で挟めばHTMLが変わっても使い続けられるイメージ

776:759
20/10/08 23:30:02.40 HhpSErmL.net
構造がある文書に、正規表現を使うのは、おかしい
普通、パーサー・CSS セレクターを使う。
例外的に、XPath もある
Python の香具師は、jQuery, Ruby のNokogiri をやっていない香具師が多すぎる

777:デフォルトの名無しさん
20/10/09 04:14:55.95 3Rw7cRMY.net
NokogiriってQiitaに「インストールする方法」が大量に書かれてるアレ?
ゴミクズはまずまともなパッケージングできるようになってから一丁前の口を利くべきだね


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch