美汤python3个css烦恼

Beautiful soup python 3 css troubles

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

当我把p.js-signup变成pythonshell的时候returns

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

我对此很陌生,所以我不确定我做错了什么,其他 css 没有 '-' 的东西可以正常工作

代码p.js-signup表示如下:

p.js - signup

所以您正试图从 p.js 中减去 signup,但是您的代码中没有变量 signup,这就是错误消息告诉您的内容。

对于python,p.js-signup是运算p.js减去signup。它会引发错误,因为 signup 不存在。

NameError: name 'signup' is not defined

如果您想获取元素 <js-lookup>,您必须使用 find(),如 documentation 中所述。

如果 js-lookup 是 CSS class: https://www.crummy.com/software/BeautifulSoup/bs4/doc/#searching-by-css-class