問題タブ [beautifulsoup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - テキスト部分文字列に新しい要素を追加する
次の文字列があるとします。
foo 部分文字列が新しい span 要素でラップされる makeSpecial(foo) 関数を作成しようとしています。その結果、次のようになります。
BeautifulSoup は道のりのように思えましたが、私はそれを機能させることができませんでした。
これをブラウザに渡して JavaScript で実行することもできますが、それは良い考えではないようです。
これに関するいくつかのアドバイスは、特に Python では非常に役立ちます。
python - BeautifulSoup の Python 3 互換性
BeautifulSoup は Python 3 で動作しますか?
そうでない場合、どのくらいで港ができますか? ポートはありますか?
Google は何も表示しません (検索対象が間違っているためでしょうか)。
python - 動的 Web サイトをスクレイピングする
ほとんどのコンテンツが ajax リクエストのように見えるものによって生成される動的 Web サイトをスクレイピングするための最良の方法は何ですか? Mechanize、BeautifulSoup、および python の組み合わせの経験はありますが、何か新しいことを考えています。
--編集-- 詳細について: CNNプライマリ データベースをスクレイピングしようとしています。そこには豊富な情報がありますが、API はないようです。
python - BeautifulSoupで特定の属性を持つすべてのセルを見つけるにはどうすればよいですか?
多数のhtmlテーブルからデータを取得するスクリプトを開発しようとしています。1つの問題は、列見出しを作成するための情報を含む行の数が不確定であるということです。ヘッダー行のセットの最後の行には、値を持つ各セルの属性border-bottomがあることがわかりました。したがって、属性border-bottomを持つセルを見つけることにしました。ご覧のとおり、リストを初期化しました。私は、borderCellsリストに含まれる各セルの親を見つけることを意図していました。ただし、このコードを実行すると、1つのセル、つまり属性border-bottomを持つallCellsの最初のセルがリストborderCellsに追加されます。参考までに、allCellsには193個のセルがあり、そのうち9個にはattrborder-bottomがあります。したがって、borderCellsリストに9つのメンバーが含まれることを期待していました。どんな助けでも大歓迎です。
python - BeautifulSoup を使用して colindex 番号を取得するにはどうすればよいですか?
1週間ほど前に問題がありました。解決策はクールだと思うので、以前に投稿した質問への回答を待っている間、ここで共有します. テーブル内の列見出しの相対的な位置を知る必要があるため、列見出しを下の行のデータと一致させる方法を知っています。一部のテーブルに、テーブルの最初の行として次の行があることがわかりました
データは type=body の下の列にあるので、これは簡単だろうと思いました。カウントダウンすると、データ行で列 [3、7、11、15] の値を取得する必要があることがわかりました。そこで、次のコードを使用してそれを達成することに着手しました。
私が得たのは collist=[0, 3, 7, 7, 15] でした
7 番目と 11 番目のセルがまったく同じように見えたため、同じインデックス位置が返されたと思います。私はこれに対処する方法を見つけようとしていました.明らかに、それらを異なって見えるようにする必要がありました. そのため、最初に readlines を使用してファイルの各行を読み取り、空白をランダムな整数に変更することで、見た目を変えました。
友人は、代わりにこれを使用することでオーバーヘッドを削減できると指摘しました
それにもかかわらず、これらの各アプローチは、各列のヘッダーの場所の colindex を含むリストを取得し、データ行で使用します。実際のコードでは r"&.nbsp;" を使用しているため、html によって空白が消えていると思われるため、replace 関数に空白がないことに注意してください。ピリオドなし
python - BeautifulSoupを使用してHTML「データセル」からテキストを取得するにはどうすればよいですか
HTML ファイルから一部のデータを取り除こうとしています。正しいセルを取得するためのロジックをコーディングしました。今、「セル」の実際の内容を取得するのに苦労しています:
ここに私のHTMLスニペットがあります:
headerRows[0][10].contents
これは Python [] のリスト項目であることに注意してください。
Apples Produced の値が必要ですが、取得できません。
任意の提案をいただければ幸いです
これを説明する良い本についての提案は、私の永遠の感謝を得るでしょう
その答えをありがとう。ただし、より一般的な答えはありません。セルにボールド属性がない場合
次のように言います。
りんごの生産量
私はドキュメントを読んだり理解したりすることを学ぼうとしています。あなたの回答が役に立ちます
このヘルプに本当に感謝しています。これらの回答の最も良い点は、それらから一般化するのがはるかに簡単であることです。その後、BeautifulSoup のドキュメントから一般化することができました。私は Fortran 時代にプログラミングを学び、現在は Python を学んでおり、その力に驚かされています。BeautifulSoup はその一例です。一貫性のあるドキュメント全体を作成することは、私にとって大変なことです。
乾杯
python - 2 つの HTML ヘッダー行を colspans とマージするより Pythonic な方法はありますか?
Python で BeautifulSoup を使用して HTML を解析しています。私が対処している問題の 1 つは、ヘッダー行間で colspans が異なる状況があることです。(ヘッダー行は、私の専門用語で列見出しを取得するために結合する必要がある行です) つまり、1 つの列がその上または下の複数の列にまたがる可能性があり、スパンに基づいて単語を追加または前に追加する必要があります。以下は、これを行うためのルーチンです。BeautifulSoup を使用して colspans をプルし、各行の各セルの内容をプルします。longHeader は、ほとんどの項目を含むヘッダー行の内容です。spanLong は、行内の各項目の colspans を含むリストです。これは機能しますが、あまり Pythonic には見えません。
また、差分が 0 未満の場合は機能しません。これを機能させるために使用したのと同じアプローチで修正できます。しかし、その前に、誰かがこれをすぐに見て、より Pythonic なアプローチを提案できるかどうか疑問に思います。私は長年の SAS プログラマーなので、型を破るのに苦労していますが、SAS マクロを書いているかのようにコードを書きます。
python - テキストとターゲットをリンクするためのHTMLの分解
次のようなHTMLリンクが与えられます
URLとテキストを分離するにはどうすればよいですか?
更新
私はBeautifulSoupを使用していますが、その方法がわかりません。
やった
私は得る
なぜコンテンツが欠落しているのですか?
編集:アドバイスに従って「スタック」について詳しく説明します:)
python - このPythonメッセージはどういう意味ですか?
beautifulsoupをインストールしようとしています。〜/ .pydistutils.cfgの最初の2行:
python - BeautifulSoupに与えられた悪いリンクを処理するための最良の方法は何ですか?
私は、おいしいものからURLを取得し、それらのURLを使用して関連するフィードを検出するものに取り組んでいます。
ただし、deliciousのブックマークの一部はhtmlリンクではなく、BSがバーフする原因になります。基本的に、BSがリンクをフェッチし、それがhtmlのように見えない場合は、リンクを破棄したいと思います。
今、これは私が得ているものです。
アップデート:
Jehiahの答えはトリックを行います。参考までに、コンテンツタイプを取得するためのコードを次に示します。