我在解析Python 2.7/Flask 0.12中的lxml时遇到了一些麻烦。
我想打印解析的 xpath 数据,但找不到方法。这是我的代码。
from lxml import html
from lxml import etree
def parse_html(html_src):
target_xpath = //div[@class="primary-content"]//div[@class="mini-cart-product clearfix"]'
detail_html = html.fromstring(html_src)
page_tree = etree.ElementTree(detail_html)
target_value_list = page_tree.xpath(target_xpath)
#want to print 'target_value_list'
return target_value_list
这是html_src
<div class="mini-cart-product clearfix">
<div class="mini-cart-image">
<a href="/carters-baby-boy-one-pieces/190795419986.html"><img src="https://www.carters.com/dw/image/v2/AAMK_PRD/on/demandware.static/-/Sites-carters_master_catalog/default/dw540ec9a5/hi-res/127G525_Default.jpg?sw=470" alt="Neon Little Brother Jumpsuit" title="Neon Little Brother Jumpsuit"></a>
<div class="mini-cart-brand">
<div class="carters"></div>
</div>
</div>
<div class="mini-cart-attributes">
<div class="product-name">
<a href="/carters-baby-boy-one-pieces/190795419986.html">Neon Little Brother Jumpsuit</a>
</div>
<div class="attribute Size">
<span class="label">Size:</span>
<span class="value">
9M
</span>
</div>
<div class="verticalLine">|</div>
<div class="attribute Color">
<span class="label">Color:</span>
<span class="value">
Blue
</span>
</div>
<div class="minicartpricedisplay">
<div class="price">
<span class="MSRP price-standard">
<span class="msrp">MSRP*:
$14.00
</span>
</span>
<span class="price-standard ">$6.00</span>
</div>
</div>
</div>
</div>
<div class="mini-cart-product clearfix">
<div class="mini-cart-image">
<a href="/carters-baby-boy-one-pieces/190795039832.html"><img src="https://www.carters.com/dw/image/v2/AAMK_PRD/on/demandware.static/-/Sites-carters_master_catalog/default/dw182a85c8/hi-res/118H023_Default.jpg?sw=470" alt="Piqué Polo Romper" title="Piqué Polo Romper"></a>
<div class="mini-cart-brand">
<div class="carters"></div>
</div>
</div>
<div class="mini-cart-attributes">
<div class="product-name">
<a href="/carters-baby-boy-one-pieces/190795039832.html">Piqué Polo Romper</a>
</div>
<div class="attribute Size">
<span class="label">Size:</span>
<span class="value">
12M
</span>
</div>
<div class="verticalLine">|</div>
<div class="attribute Color">
<span class="label">Color:</span>
<span class="value">
Blue
</span>
</div>
<div class="minicartpricedisplay">
<div class="price">
<span class="MSRP price-standard">
<span class="msrp">MSRP*:
$18.00
</span>
</span>
<span class="price-standard desktopvisible">$7.20</span>
</div>
</div>
</div>
</div>
如果我尝试打印"target_value_list",那么它会打印一些内存地址的列表。请有人救救我。
我想打印traget_value_list中的内容。想知道它是否html_src所有项目。
如果你想获取文本值列表而不是webelements列表,你可以尝试在XPath
中使用/text()
语法:例如,使用//div/text()
或//div//text()
,而不仅仅是//div
或使用text
属性或text_content()
方法,如下所示:
target_value_list = [element.text_content() for element in page_tree.xpath(target_xpath)]
return target_value_list