, прежде чем это будет помечено как дубликат, я искал и пробовал другие решения, найденные на SO, а именно:
- Селектор css: получить текст всех внутренних тегов
- Как получить текст из дочерних узлов, если он является родителем другого узла в Scrapy, используя XPath
- Scrap получить весь текст, включая детей
HTML-код, из которого я хочу извлечь:
<span class="location">
Mandarin Oriental Hotel
<a class="" href="/search-results/Jalan+Pinang%252C+Kuala+Lumpur+City+Centre%252C+50088+Kuala+Lumpur%252C+Wilayah+Persekutuan./?state=Kuala+Lumpur" itemprop="addressRegion" title="Jalan Pinang, Kuala Lumpur City Centre, 50088 Kuala Lumpur, Wilayah Persekutuan.">
Jalan Pinang, Kuala Lumpur City Centre, 50088 Kuala Lumpur, Wilayah Persekutuan.
</a>
,
<a class="" href="/search-results/?neighbourhood=Kuala+Lumpur&state=Kuala+Lumpur" title="Kuala Lumpur">
Kuala Lumpur
</a>
,
<a class="" href="/search-results/?state=Kuala+Lumpur" title="Kuala Lumpur">
Kuala Lumpur
</a>
<span class="" itemprop="postalCode">
50088
</span>
</span>
Я хочу получить весь текст в // span [@ class = 'location'].
Я пробовал:
response.xpath("//span[@class='location']//text()").extract_first()
response.css("span.location *::text").extract_first()
response.css("span.location ::text").extract_first()
Все они возвращают только Mandarin Oriental Hotel
, а не полный адрес.
EDIT:
Текст должен дать
Mandarin Oriental Hotel Jalan Pinang, Центр города Куала-Лумпур, 50088 Куала-Лумпур, Wilayah Persekutuan., Куала-Лумпур, Куала-Лумпур 50088