Как получить HTML-код внутри класса с помощью Scrapy

#python #web-scraping #scrapy

#python #веб-очистка #scrapy

Вопрос:

Возможно ли получить весь HTML-код внутри класса div messageContent включая сам HTML-код?

Это URL-адрес.

Но я не могу получить все сообщение и его формат, возможно ли это? То, что я пробовал, это:

item.css('div.messageContent blockquote::text').extract()

 <div class="messageContent">
<article>
<blockquote class="messageText SelectQuoteContainer ugc baseHtml">
Since I accidentally killed the 2018 thread, hereamp;#039;s a cross-post of             
that fateful missive.<br />
<br />
Happy New Year, all! Hereamp;#039;s to 2019, the year we see (my 
predictions...):<br />
<br />
<ul>
<li>The fabled $35k Tesla become reality</li>
<li>The Model Y (give it to me now!)</li>
<li>HW 3 and some minor FSD umbrella features (but definitely not FSD)        
</li>
<li>Tesla getting customer communications under control (where 
amp;#039;controlamp;#039; indicates at least third-grader aptitude)</li>
<li>Elon doing something incredibly stupid</li>
</ul>What are your predictions?<br />
<br />
Enjoy!<br />
<br />
 <img 
  src="https://teslamotorsclub.com/tmc/attachments/fb_img_1546317769765- 
  jpg.365117/" class="bbCodeImage LbImage" alt="[amp;#x200B;IMG]" data- 
  url="https://teslamotorsclub.com/tmc/attachments/fb_img_1546317769765- 
  jpg.365117/" />
<div class="messageTextEndMarker">amp;nbsp;</div>
</blockquote>
</article>
</div>
  

Ответ №1:

Да, вы вполне можете это сделать. Проблема в том, что вы используете ::text , который указывает селектор для извлечения только внутреннего текста внутри тегов.

Используйте что-то вроде этого:

 item.css('div.messageContent blockquote').extract()
  

Который вернет весь html внутри blockquote тега.