파이썬 요청 모듈을 사용하여 전자 상거래 웹 사이트를 고치고 있습니다. 글쎄 여러 노드 사이의 텍스트를 추출하는 데 문제가 있습니다. 다음 html은 텍스트를 추출하려고하는 부분입니다. 두 개의 (p) 태그와 모든 (strong) 태그에 포함 된 div 클래스 = "rte 구성 요소"아래의 모든 텍스트를 추출해야합니다. 주의! (강한) 태그는 페이지마다 다를 수 있습니다.Xpath는 여러 노드 사이의 모든 텍스트를 추출합니까?
<div class="rte ingredients">
<p>Farina sbiancata arricchita (farina sbiancata di
<strong>grano</strong>,
ferro ridotto, vitamine B3-B1-B2-B9), zucchero,
agenti lievitanti E500ii-E541i-E341i, destrosio,
<strong>latte</strong>
scremato disidratato, olio di
<strong>soia</strong> parzialmente
idrogenato, sale,
<strong>glutine</strong> di <strong>grano</strong>,
colorante E170, estratto secco di sciroppo di granoturco, caseinati di
sodio (<strong>latte</strong>), emulsionante E471, regolatore di acidità
E270. Può contenere tracce di <strong>uova</strong>. Contiene OGM.</p>
<p>Valori nutrizionali (per 100g): energia 348Kcal, lipidi 3.3g (di cui
grassi saturi 0g), carboidrati 69.6g (di cui zuccheri 13g), proteine
10.9g, sale 2.6g.</p>
</div>
음, 다음 코드를 사용하고 있지만 결과는 부분적입니다.
ingredients = parser.xpath('//*[@id="bottom_right_product_infos"]/section[2]/div/p[1]/text()')
print ingredients
['Farina sbiancata arricchita (farina sbiancata di']
반대로 (DIV) 태그 아래의 모든 텍스트를 추출해야합니다.
누군가가 도와 드릴 수 있습니까? 감사!
나는 코드의 일부 추가 깜빡 미안 해요 : 응답 = requests.get (URL)를 파서 = html.fromstring (응답) ([문자열 LXML을 반환하는 힘의 XPath]의 – CosimoCD
가능한 중복는 .text https://stackoverflow.com/questions/34461840/force-xpath-to-return-a-string-lxml) –