2017-07-16 7 views
1

私はPythonを初めて使いました。 Pythonのコーディングのいくつかの行は、http://www.nytimes.com/にすべての記事タイトルを印刷します。すべての記事タイトルを印刷する

import requests 
from bs4 import BeautifulSoup 
base_url = 'http://www.nytimes.com' 
r = requests.get(base_url) 
soup = BeautifulSoup(r.text) 
    for story_heading in soup.find_all(class_="story-heading"):   
    if story_heading.a: 
      print(story_heading.a.text.replace("\n", " ").strip()) 
     else: 
      print(story_heading.contents[0].strip()) 

.a.textはどういう意味ですか?

ありがとうございました。さんが一人で1 story_headingを印刷するか見てみましょう

まず

答えて

2

は、私たちに与えます:

>>> story_heading.a 
<a href="https://www.nytimes.com/real-estate/mortgage-calculator">Mortgage Calculator</a> 

のみを取得するには:

>>> story_heading 
<h2 class="story-heading"><a href="https://www.nytimes.com/real-estate/mortgage-calculator">Mortgage Calculator</a></h2> 

のみaタグを抽出するために、我々はstory_heading.aを使用してアクセスタグはタグ自体の内部にあり、属性ではありません。.text

ここ
>>> story_heading.a.text 
'Mortgage Calculator' 
+1

内のテキストを与えるの.text最初のアンカータグ を与えるありがとうございました。もう一つの質問:ドットは何ですか? '平均? –

+1

Pythonやその他のオブジェクト指向プログラミング(OOP)言語では、あるクラスからメソッドを呼び出すためにドットが使用されます。たとえば、組み込みのクラス 'str'(string)には' upper'というメソッドがあり、これを呼び出すためにすべての文字を大文字に変換します。 'a ="これは文字列 " .upper() 'または単に' 'これは文字列" .upper() 'です。あなたが本当にPythonを初めて使っているようですが、[documentation](https://docs.python.org/3/library/string.html)には、構文と組み込みクラスのメソッドについての非常に良いテキストがありますトピックをもう少し見てください。 –

+1

最後に '()'を書かない訂正は、メソッドを実際に呼び出すのではなく、メソッドに関連付けられたオブジェクトを参照するだけです。 –

0

、 .Aはあなたにあなたのタグ

関連する問題