есть элемент, выражение xpath которого равно "// * [@ id = 'productDetails_detailBullets_sections1'] в html, но я не могу вызвать xpath для получения объекта об элементе. Как получить правильный объект? Потому что xml вызовите libxml2, который является c библиотекой, поэтому я редактирую c код. Я нахожу тот же вопрос, что оба они не могут разобрать html.
import requests
from lxml import html
from lxml import etree
myheaders = \
{
"Host": "www.amazon.com",
'Connection': 'keep-alive',
'Cache-Control': 'max-age=0',
'Accept': 'text/html, */*; q=0.01',
'X-Requested-With': 'XMLHttpRequest',
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36',
'DNT': '1',
'Referer': 'www.amazon.com',
'Accept-Encoding': 'gzip, deflate, sdch',
'Accept-Language': 'zh-CN,zh;q=0.8,ja;q=0.6'
}
product_link="https://www.amazon.com/12x42-Roof-Prism-Binoculars-Adults/dp/B07GF4JCDY/ref=zg_bs_502394_52/136-5024359-5179066?_encoding=UTF8&psc=1&refRID=SM787G6VW6RACAYJFC4G&language=en"
response = requests.get(product_link, headers=myheaders)
tree = etree.HTML(response.text)
tree.xpath("//*[@id='productDetails_detailBullets_sections1']")#receive empty list