robert
robert

Reputation: 819

Obtain text from lxml Comment

I am trying to get the content of the _Comment. I've researched quite a bit on how do do it, but I don't know how to access the function from the td element in order to grab the text. I'm using xpaths with the python Scrapy module if that helps.

td = None [_Element]
    <built-in function Comment> = None [_Comment]
    a = None [_Element]

The HTML for the td element is:

<table class="crIFrameReviewList">

    <tr>
      <td>

<!-- BOUNDARY -->
<a name="R2L4AFEICL8GG6"></a><br />


<div style="margin-left:0.5em;">

      <div style="margin-bottom:0.5em;">
        304 of 309 people found the following review helpful
      </div>
      <div style="margin-bottom:0.5em;">
        <span style='margin-left: -5px;'><img src="http://g-ecx.images-amazon.com/images/G/01/x-locale/common/customer-reviews/stars-5-0._V192240867_.gif" width="64" alt="5.0 out of 5 stars" title="5.0 out of 5 stars" height="12" border="0" /> </span>
        <b>Great Travel Zoom</b>, <nobr>April 9, 2014</nobr>
      </div>
      <div style="margin-bottom:0.5em;">

      <div class="tiny" style="margin-bottom:0.5em;">
        <span class="crVerifiedStripe"><b class="h3color tiny" style="margin-right: 0.5em;">Verified Purchase</b><span class="tiny verifyWhatsThis">(<a href="http://www.amazon.com/gp/community-help/amazon-verified-purchase" target="AmazonHelp" onclick="amz_js_PopWin('http://www.amazon.com/gp/community-help/amazon-verified-purchase', 'AmazonHelp', 'width=400,height=500,resizable=1,scrollbars=1,toolbar=0,status=1');return false; ">What's this?</a>)</span></span>
      </div>
      <div class="tiny" style="margin-bottom:0.5em;">
        <b><span class="h3color tiny">This review is from: </span>Canon PowerShot SX700 HS Digital Camera (Black) (Electronics)</b>
      </div>

For the recent few years Canon has made great efforts to improve their travel-zoom compact cameras, and the new SX700 is their next remarkable achievement on that way. It's a little bit bigger than its predecessor (SX280) but it is very well built and has an attractive look and feel (I like the black one). It also got a new front grip which makes one-hand shooting more convenient, even when shooting video, since the Video button was moved from the back to the top and you can now use your thumb solely for holding the camera.<br /><br />Here is a brief list of the new camera pros & cons:<br /><br />PROS:<br />* A very good design and build quality with the attractive finish.<br />* A new powerful 30x optical zoom lens in just a pocket-size body.<br />* Incredible range from 25mm wide to 750mm telephoto for stills and video.<br />* Zoom Framing Assist - very useful new feature to compose your pictures at long telephoto.<br />* Very effective optical Intelligent Image Stabilization for...


<a href="http://www.amazon.com/Canon-PowerShot-SX700-Digital-Camera/product-reviews/B00I58M26Y" target="_top">Read more</a>
      <div style="padding-top: 10px; clear: both; width: 100%;">

Upvotes: 0

Views: 643

Answers (1)

alecxe
alecxe

Reputation: 473903

Find the div with class="reviewText" using .//div[@class="reviewText"] xpath expression and dump the element to string using tostring() with a text method:

import lxml.html

data = """
your html here
"""

td = lxml.html.fromstring(data)
review = td.find('.//div[@class="reviewText"]')
print lxml.html.tostring(review, method="text")

Prints:

54,000 RPM - It has a spinning disk drive that is way beyond our time...I bought 10 of these just for the hard drive, they blow SSD's out of the water.
Seriously though... how does a well known computer company mistype an important spec?

Upvotes: 1

Related Questions