2016-10-31 18 views
0

私はPython 2.7のデータ解析コードを学習することに決めました。そして、基礎をよく理解するためにYouTubeで多くのチュートリアルを見てきました。シンプルなpython Webクローラーを作成しようとしています

私は、さまざまな手法を学ぶだけの教育目的で簡単なWebクローラーを作成し、いくつかのコーディングに慣れる段階にあります。

私はWebクローラーのチュートリアルに従っていますが、私はいくつかのことについてはわかりません。これはこれまで私が持っているものです:

私はhrefリンクを分けて、テキストと日付情報を表示させることはできません。

私はそれが次のようになりたい:記事

  • リンクの

    1. 名前条
    2. に条

    の日は、誰かがこれらのステップだった理由についていくつかの情報を助けてもらえどう?

    非常に高く評価されました!

  • +0

    興味のある情報を抽出するには、各リンクで「find」を呼び出す必要があります。Beautiful Soup docsを見てください –

    +0

    Thanks jeff、私は美しいスープの文書を読んでいます。ソリューション –

    答えて

    0

    bs4では、すべてのノードが接続されていて、すべてのリンクノード(実際にdivです)を取得した場合、タグAのような子を取得したいので、link.aはokです。

    ノードは2つの部分値を持ち、1つは属性、a['href']によるアクセス、およびa.textによるコンテンツアクセスです。 PS

    for link in statements: 
        print(link.a['href']) 
    

    <a href="/Legislation-and-Politics/Legislative-Alerts/Letter-to-Representatives-opposing-the-Fairness-in-Class-Action-Litigation-and-Furthering-Asbestos-Claim-Transparency-Act">Letter to Representatives opposing the "Fairness in Class Action Litigation and Furthering Asbestos Claim Transparency Act"</a> 
    

    このlink.aある[ 'のhref']:

    <div id="legalert_title"><a href="/Legislation-and-Politics/Legislative-Alerts/Letter-to-Representatives-opposing-the-Fairness-in-Class-Action-Litigation-and-Furthering-Asbestos-Claim-Transparency-Act">Letter to Representatives opposing the "Fairness in Class Action Litigation and Furthering Asbestos Claim Transparency Act"</a></div> 
    

    このlink.aある: このリンク変数であります

    /Legislation-and-Politics/Legislative-Alerts/Letter-to-Representatives-opposing-the-Fairness-in-Class-Action-Litigation-and-Furthering-Asbestos-Claim-Transparency-Act 
    

    これは.textセクションです:

    Letter to Representatives opposing the "Fairness in Class Action Litigation and Furthering Asbestos Claim Transparency Act" 
    

    すべてのhtmlはこのようになっていますが、多分あなたは少しhtmlを学ぶ必要があります。

    +0

    おかげでピートを見つけることができ、ちょうど明確化のために、なぜ角括弧「[]」ではなく通常の括弧内「()」内の「HREF」ですか? –

    +0

    e、それは、 'データ構造'であり、接続してデータを説明する方法です。 –

    +0

    e、それは、 'データ構造'であり、接続してデータを説明する方法です。 link.a(「HREF」)は 'クラスmethod'であることを意味し、hrefがあなたが望むようparam.youは、これらのようなものを設計することができますが、この方法は冗長であるので、それは、良い方法はありませんが、私にはないですあなたにこれらを伝えるために方法を知っている、いくつかの例: people.walk()#walkはアクションです。 #いくつかは属性です people.parens#これは行動ではなく、人々が持っているものです。 #と括弧は 'dict'({:名前、「父」:「ママ」名})であるあなたは、この people.parens [「お母さん」]#リターンお母さんの名前を行うことができます –

    関連する問題