为什么我在尝试使用带有Beauty soup的python中的.get_text()时出错?
我正试图在youtube上做一个网页刮板,我到达了某个地方,他试图获得产品的标题并将其打印到屏幕上。然而,当我尝试这样做时,我得到了一个关于为什么我在尝试使用带有Beauty soup的python中的.get_text()时出错?,python,beautifulsoup,Python,Beautifulsoup,我正试图在youtube上做一个网页刮板,我到达了某个地方,他试图获得产品的标题并将其打印到屏幕上。然而,当我尝试这样做时,我得到了一个关于.get_text()的错误,我不明白当我复制他所有的东西时我哪里出错了 另一件事是,当他在soup.中键入时,它为他显示了一个类列表,但为我显示了一个列表,为什么。我是在VisualStudio代码中完成这项工作的 import requests from bs4 import BeautifulSoup URL = "https://www
.get_text()
的错误,我不明白当我复制他所有的东西时我哪里出错了
另一件事是,当他在soup.
中键入时,它为他显示了一个类列表,但为我显示了一个列表,为什么。我是在VisualStudio代码中完成这项工作的
import requests
from bs4 import BeautifulSoup
URL = "https://www.amazon.com/Nintendo-Console-Resolution-802-11ac-Surround/dp/B07RGFF98S/ref=sr_1_2?crid=213XSEHLOFP4W&dchild=1&keywords=nintendo+switch&qid=1599079468&sprefix=nintendo%2Caps%2C395&sr=8-2"
headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36'}
page = requests.get(URL, headers=headers)
soup = BeautifulSoup(page.content, 'html.parser')
title = soup.find(id="productTitle").get_text()
print(title.strip())
要从Amazon服务器(而不是验证码页面)获得正确的响应,还需指定
Accept Language
HTTP头:
import requests
from bs4 import BeautifulSoup
URL = "https://www.amazon.com/Nintendo-Console-Resolution-802-11ac-Surround/dp/B07RGFF98S/ref=sr_1_2?crid=213XSEHLOFP4W&dchild=1&keywords=nintendo+switch&qid=1599079468&sprefix=nintendo%2Caps%2C395&sr=8-2"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36',
'Accept-Language': 'en-US,en;q=0.5'
}
page = requests.get(URL, headers=headers)
soup = BeautifulSoup(page.content, 'html.parser')
title = soup.find(id="productTitle").get_text()
print(title.strip())
印刷品:
Nintendo Switch 32GB Console Video Games w/ 32GB Memory Card | Neon Red/Neon Blue Joy-Con | 1080p Resolution | 802.11ac WiFi | HDMI | Surround Sound | IR Motion Camera
哦,好吧,我明白了,但是我的另一个问题呢,他在那里键入了
soup.
并且为他显示了一个类或方法的列表,但对我来说没有。