問題タブ [bs4]
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.
python - Python Beautiful Soup 'ascii' コーデックは文字 u'\xa5' をエンコードできません
ページの一部の要素を Web でスクレイピングしているときに、奇妙な文字に遭遇しました。エラーになると思われる文字は次のとおりです。
? ?? ??Á¢¢Á? /?? />? /??? ?/¢¥Á ??%% ?Á ? ????Á? ?> /???¥??> ¥? ¥©Á ?>¢¥/%%/¥??> ? >Á? ?Á ©???¢ ñ%Á?¥???/% Á%Á?¥??>?? />? ??Á? ??¥?? ??¢¥????¥??> ¢`¢¥Á ¢ ??%% ?Á ??À?/?Á? 円?_ÁÁ¥ ?>??Á/¢?>À Á???? Á>¥?? ??\Á? />? ??__?>??/¥??>¢ ?Á
関連する私のコードは以下のとおりです
ページ : http://www.nsf.gov/awardsearch
このエラーに関するすべてのページを読んで、デコードとエンコードを示唆するものもありましたが、役に立たないようです。ここでどのエンコードが使用されているかわかりません。どんな助けでも大歓迎です。パイソン 2.7BS4
python - bs4 pythonを使用してxmlを解析しながら「と」を保持する方法
bs4 を使用して xml ファイルを解析し、再度新しい xml ファイルに書き戻しています。
入力ファイル:
脚本:
出力:
"
と を保持したい'
。エンコード フォーマッターのすべてのオプション (Minimal、xml、html、none) を使用してみました。しかし、それらのどれもこの問題を解決しませんでした。
"
次に、 " を手動で置き換えてみました。
しかし、これにより以下の出力が得られました
& を に置き換えます&
。私はここで混乱しています。これを解決するのを手伝ってください。
python - Beautifulsoup で解析したときに XML ファイルのインデントを維持する
BS4 を使用して XML ファイルを解析し、それを新しい XML ファイルに書き戻そうとしています。
入力ファイル:
脚本:
出力:
入力ファイルのインデントを保持したい。prettify オプションを使ってみました。
出力整形:
しかし、これは私が望んでいたものではありません。入力ファイルと同じように、タグの正確なインデントを維持したいと考えています。
python - BeautifulSoup で複数のページにまたがるループを書く
ここの郡検索ツールから数ページの結果をスクレイピングしようとしています: http://www2.tceq.texas.gov/oce/waci/index.cfm?fuseaction=home.main
しかし、最初のページ以上を反復処理する方法がわかりません。
出力 CSV の 1 ページだけの結果を取得していました。bs4 を使用したスクレイプの他の例を調べた後、インポート リクエスト ループを追加しようとしましたが、「ImportError: No module named requests.」というエラー メッセージが表示されました。
結果の 8 ページすべてをループして .csv に入れる方法について何か考えはありますか?
python - 保存されているhtmlファイルのURLを抽出
いくつかの html ファイルを保存し、名前を変更しました。PythonでhtmlファイルのURLを抽出できる方法はありますか。
編集: .html ファイルの URL を見つけたいのですが、そこにあるリンクではありません。多くのファイルがあるため、一般化されたアプローチを探しています。
python - 保存された .html ページからニュース記事のコンテンツを抽出する
HTMLファイルからテキストを読み取り、分析を行っています。これらの .html ファイルはニュース記事です。
コード:
今、広告や見出しなどの残りのテキストではなく、記事のコンテンツだけが必要です.Pythonで比較的正確に行うにはどうすればよいですか?
Jsoup(Java API) やbolierなどのツールをいくつか知っていますが、Python でやりたいと思っています。bs4を使用していくつかの手法を見つけることができましたが、1 つのタイプのページに限定されていました。また、多数の情報源からのニュース ページがあります。また、存在するサンプル コードの例が不足しています。
私はPythonでhttp://www.psl.cs.columbia.edu/wp-content/uploads/2011/03/3463-WWWJ.pdfのようなものを探しています。
編集: 理解を深めるために、次のリンクのコンテンツを抽出するサンプル コードを記述してください http://www.nytimes.com/2015/05/19/health/study-finds-dense-breast-tissue-isnt-always -a-high-cancer-risk.html?src=me&ref=general
python - メソッドの多くが同じクラスの新しいインスタンスを作成する Python クラスのサブクラス化
HTML または XML 構造を処理する Python (2.7) クラスを拡張したいと考えています。現在、私は bs4 をいじっていますが、それはおそらくこの質問には不可欠ではありません。
より高度な操作を行う関数を追加したいと考えています。たとえば、テーブルの列全体を操作したり、リストのサブ要素をソートしたりします。そのため、サブクラスを定義します
ここまでは順調です。ただし、元のクラス (および Tag、NavigableString などの関連クラス) には、「タグ」(要素) を作成する new_tag()、NavigableString (テキスト ノード) を作成する new_string() など、bs4 オブジェクトをインスタンス化するさまざまなメソッドが既にあります。 )など。DOMベースのクラス、またはおそらく再帰的なデータ構造を処理するパッケージと同じです。
それは、bs4 関連のオブジェクトをインスタンス化するすべての bs4 関連のクラスのすべての場所を見つけ、サブクラス化し、オーバーライドして、代わりにすべてのクラスをインスタンス化する必要があるということですか? それはひどく退屈に思えます。
さらに悪いことに、微妙なバグが発生しやすいようです。たとえば、bs4 コンストラクターは、解析された HTML または XML から準 DOM ツリーを構築します。ただし、そうしている間に new_tag() を呼び出す場合と呼び出さない場合があります。のようなことを言うだけかもしれません
その場合、BeautifulSoup および Tag および NavigableString オブジェクトのインスタンスを取得し、myBS4 および myTag および myNavigableString オブジェクトのツリーに混合します。拡張されていないノードで拡張操作を実行するように要求された場合、呼び出しは失敗します。
そのため、new_tag() などをオーバーライドするだけでは不十分な場合があります。すべてのケースを取得したかどうかを知る唯一の方法は、bs4 実装全体を調査 (または grep) することです。また、bs4 自体に触れる概念的な理由がまったくないにもかかわらず、bs4 の更新によってそれが壊れる可能性がかなり高いかもしれません。
この問題を回避するクリーンな方法はありますか? ミックスインについて考えましたが、私が知る限り、ミックスインを取り込むにはまだ bs4 をサブクラス化する必要があるため、役に立ちません。私は何かを完全に見逃していますか?
python - BS4 と onclick(): アクションを行う方法は?
ユーザーが情報を取得するには、次のリンクをクリックする必要があります。
で押してもらう方法はbs4
?それとも他の解決策があるのでしょうか?