2017-09-09 12 views
0

私はbs4とPythonで練習しています。BeautifulSoup - Python - HTMLから鍵を見つける

私の計画があれば行うことです - 私は似たような

If(I find a value inside this html) 
    Do This method 
Else: 
    Do something else 

をやってみたかったと私は私がどのように見えるどのランダムたHTMLかき集めてきそうでない状態 -

<div class="Talkinghand" data-backing="ShowingHide" data-key="123456" data-theme="$MemeTheme" style=""></div> 

をし、私がこれまでにしてきたことは次のとおりです。

s = requests.Session() 
    Url = 'www.myhtml.com' #Just took a random page which I don't feel to insert 
    r = s.get(Url) 
    soup = soup(r, "lxml") 
    findKey = soup.find(('div', {'class': 'Talkinghand'})['data-key']) 
    print(findKey) 

運がないです。

TypeError: object of type 'Response' has no len()

私は一度キーを見つけたりプリントアウトしたりします。

(そのデータ・キー内の値がある) ...

+0

s.get' 'で' S'は何ですか? – Psidom

+0

ああ申し訳ありませんが、(s = requests.Session()) – WeInThis

+2

'r'はResponseオブジェクトです。 'スープ(r.content、 'lxml')'があなたのために修正されます – Psidom

答えて

0

場合<div>タグの内側からdata-key属性を表示することができます、:それも言うところ私は、if else文をやってみたかったです

from bs4 import BeautifulSoup 

html = '<div class="Talkinghand" data-backing="ShowingHide" data-key="123456" data-theme="$MemeTheme" style=""></div>' 
soup = BeautifulSoup(html, "html.parser") 

print soup.div['data-key'] 

これを印刷します::次の操作を行い

123456  

あなたが合格する必要があるだろうしr.contentからsoupに電話をかけてください。

あなたのスクリプトは、余分な()を持っていたので、次も動作します:

findKey = soup.find('div', {'class': 'Talkinghand'})['data-key'] 
print findKey 
+0

正直、ありがとう!これは本当に私を助けた:) – WeInThis

関連する問題