繁体   English   中英

AttributeError: 'NoneType' object 没有带有输入 id 的属性 'get_text'

[英]AttributeError: 'NoneType' object has no attribute 'get_text' with input id

url = 'https://www.amazon.ca/Powerextra-Replacement-Battery-Compatible-NP-FZ100/dp/B07PQQQ82K/ref=bmx_4?pd_rd_w=TNcoX&pf_rd_p=d9347c84-a27a-4c22-b959-7bb71382273b&pf_rd_r=E7RKN5D6HSM4TFZQJCGT&pd_rd_r=e8bff283-bc96-4b77-b31a-f413b4d62e40&pd_rd_wg=wje3Z&pd_rd_i=B07PQQQ82K&psc=1'
headers = 'headers = { "user-Agent": 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'}'
page = requests.get(url, headers= headers)
soup = BeautifulSoup(page.content, "lxml")

title = soup.find('input', {'id': 'mbb-offeringID-1'}).get_text()
print(title)

我也试过:

title = soup.find('input', {'id': 'mbb-offeringID-1'}).get('value')
print(title)

然后我尝试了它是否通常与“span id”一起工作并且它给出了相同的错误

title = soup.find(id = "productTitle").get_text()

尝试添加"Accept-Language": "en-US,en;q=0.5" HTTP header 以获得服务器的正确响应:

import requests
from bs4 import BeautifulSoup


url = "https://www.amazon.ca/Powerextra-Replacement-Battery-Compatible-NP-FZ100/dp/B07PQQQ82K/ref=bmx_4?pd_rd_w=TNcoX&pf_rd_p=d9347c84-a27a-4c22-b959-7bb71382273b&pf_rd_r=E7RKN5D6HSM4TFZQJCGT&pd_rd_r=e8bff283-bc96-4b77-b31a-f413b4d62e40&pd_rd_wg=wje3Z&pd_rd_i=B07PQQQ82K&psc=1"
headers = headers = {
    "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0",
    "Accept-Language": "en-US,en;q=0.5",
}
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.content, "lxml")

title = (
    soup.find("input", {"id": "mbb-offeringID-1"})
    .find_next("span")
    .get_text(strip=True, separator=" ")
)
print(title)

印刷:

Asurion 3-Year Protection Plan for $14.99

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM