用python和xpath进行html抓取

2024-05-15 05:02:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图理解使用lxml提取文本的过程 尝试简单的python程序

from lxml import html
import requests
page = requests.get('http://www.foo bar')
tree = html.fromstring(page.content)
name = tree.xpath('//*[@id="yui_3_17_2_1_1487276887950_2408"]/div[@class="locu-menu-item-name"]/text')
print(name)

结果为[]

值对于嵌套标记,xpath为: //*[@id=“yui_3_17_2_1_1487276887950_103789”]/div[1]/div[1]

值是<div class="locu-menu-item-name">Italian Lemon Sorbetto</div> 是这样嵌套的

^{pr2}$

任何帮助都会很好。在


Tags: nameimportdividtreehtmlpageitem
1条回答
网友
1楼 · 发布于 2024-05-15 05:02:23

xpath中有错误。要获得文本,您应该在结尾使用/text(),而不是{}。所以您的xpath应该是这样的:

name = tree.xpath('//*[@id="yui_3_17_2_1_1487276887950_2408"]/div[@class="locu-menu-item-name"]/text()')

当您使用/text时,这意味着您正在查找嵌套的标记文本。在

^{pr2}$

相关问题 更多 >

    热门问题