2016-05-28 14 views
-1
import requests 
from bs4 import BeautifulSoup 

urla = 'https://www.tumblr.com/search/hello' 

r = requests.get(urla) 

soupa = BeautifulSoup(r.content, 'html.parser') 

links = soupa.find_all("div", {"class": "header_mage_wrapper has_avatar"}) 

for link in links: 

    print link 

このコードを実行すると、何も壊れず、終了コード0(PyCharmを使用)が表示されますが、出力はまったくありません。美しいスープで出力なし

私は離れて{「クラス」:「header_mage_wrapperのhas_avatar」を}取る場合) はこれだけfind_all(「DIV」)が存在し、それは完全に正常に動作し、すべてのdivを引き出します。私はこの同じコードを別のウェブサイトで試しても何の問題もありませんでしたが、まだ分かりませんが、私はBeautifulSoupを1〜2日使っていますが、見つけられませんコーディングエラーがないので問題です。

ありがとうございました!

+0

あなたが私にリンクしたページのソースには、 'header_mage_wrapper has_avatar'が見つかりません。それを確認できますか? – minocha

+1

これらのクラスとdivがあるとはどのように判断しましたか?そのようなクラスはありませんが、 'header_mage_wrapper'は' header_image_wrapper'のスペルミスのようです。 –

+1

おそらくあなたはJavaScriptをパースしようとしている可能性があります。これは少し違ってやる必要がありますし、Martijnが言及したように、あなたはたぶんクラスを正しく綴っていないでしょう。 –

答えて

0

これはあなたに何も出力をフェッチしない:get()header_image_wrapperクラスを取得されていないため、

import requests 
from bs4 import BeautifulSoup 
urla = 'https://www.tumblr.com/search/hello' 
r = requests.get(urla) 
soup = BeautifulSoup(r.text) 

for link in soup.find_all('div', class_="header_image_wrapper has_avatar"): 
    print(link.get('class')) 

です。 フェッチする最低死亡者はsearch_blog_rowです。

あなたが探しているheader_image_wrapperは、あなたの検索に基づいて動的に読み込まれます。

POSTのように、hereとお試しください。

代わりにTumblr APIを使用して結果を得ることをお勧めします。

+0

私はあなたがAPIに関して正しいと思います。代わりにそれを使用する方法を学びます。 – Sweetcheeks12354

+0

@ Sweetcheeks12354良い。 –

関連する問題