2017-06-19 15 views
1
import bs4 
import requests 
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'} 
url = 'http://twitter.com' 
r = requests.get(url, headers=headers) 
p = bs4.BeautifulSoup(r.text, 'html.parser') 
p.js-signup 

私はPythonシェルにp.js-signupを入れたとき、それは他の、私はこれに非常に新しいですので、私は私が間違って何をやったかわからないんだけど美しいスープのpython 3 CSSは

Traceback (most recent call last): 
File "<pyshell#29>", line 1, in <module> 
p.js-signup 
NameError: name 'signup' is not defined 

を返すのトラブルCSSのものは持っていないこと ' - ' それらに罰金が

+0

JS-サインアップは何ですか? – Exprator

答えて

2

Pythonの場合、p.js-signupはopマイナスsignupです。 signupが存在しないために発生したエラーが発生します。

NameError: name 'signup' is not defined 

あなたは要素<js-lookup>あなたがdocumentationで説明したようにfind()を使用する必要がありますを取得したい場合。

js-lookupは、CSSクラスの場合:https://www.crummy.com/software/BeautifulSoup/bs4/doc/#searching-by-css-class

+0

ああそういう意味ですか? 'print(p.find(id = 'js-signup'))' – ChickenRun

+0

ありがとう、それは働いた:) – ChickenRun

2

コードp.js-signupは以下の意味働く:

p.js - signup 

signupp.jsから減算しようとしていますが、コードに変数signupがなく、エラーメッセージが表示されます。

+0

私は参照してください、しかしSelectorGadget(http://selectorgadget.com/)はCSSセレクタを選ぶために私に '.js-signup'を与えましたので、bs4でそれをどのように使うか分かりません – ChickenRun

+1

あなたが特定のクラス名を持つすべての要素は 'p.find_all(class _ = 'js-signup') 'を使用します – ikkuh

関連する問題