2017-02-22 14 views
0

これはPythonの本の例です。私はそれを実行すると、私は出力を得ることはありません。誰か助けてくれますか?ありがとう!!!python2.7のコードに出力がないのはなぜですか?

from urllib import urlopen 
from BeautifulSoup import BeautifulSoup 

text = urlopen('https://python.org/community/jobs').read() 
soup = BeautifulSoup(text) 

jobs = set() 
for header in soup('h3'): 
    links = header('a', 'reference') 
    if not links: continue 
    link = links[0] 
    jobs.add('%s (%s)' % (link.string, link['href'])) 
    print jobs.add('%s (%s)' % (link.string, link['href'])) 

print '\n'.join(sorted(jobs, key=lambda s: s.lower())) 

reedit-- まず、私は、URLが間違っていると考えるが、私は存在していなかった得るためにしたいHTMLのINFOMATIONを無視します。これが私が空の出力を得る理由です。

+0

「スープ(h3)」が空であるか、「リンク」が常に空であると思われます。あなたはあなたの 'urlopen'行から戻ってくると思われる種類のテキストでこの質問を更新できますか? – ymbirtt

答えて

1

ページを開いてhtmlを調べると、リンクを含む<h3>タグがないことがわかります。このため、出力がありません。

したがってif not links: continueは常に続きます。

これは、ページがに移動したために、ページにリンクを含む<h3>タグが存在しなくなったためです。

このコードのURLを新しいページに向けると、私はしばらく時間をかけてページソースを理解することをお勧めします。例えば、リンクに<h3>タグの代わりに<h2>タグを使用します。

関連する問題