Python 如何从网页中提取单个元素?
我想从下面的网页中提取一个文本值 具体地说,我在“站点数量”文本后面的“4”值后面(参见屏幕截图) 我已经能够使用Chrome隔离xpath,如下所示:Python 如何从网页中提取单个元素?,python,macos,xpath,web-scraping,lxml,Python,Macos,Xpath,Web Scraping,Lxml,我想从下面的网页中提取一个文本值 具体地说,我在“站点数量”文本后面的“4”值后面(参见屏幕截图) 我已经能够使用Chrome隔离xpath,如下所示: //*[@id="act_1"]/div[1]/table/tbody/tr/td[2] 以下代码生成一个空列表: import urllib2 from lxml import etree url = "https://www.fs.usda.gov/recarea/superior/recreation/camping-cabins
//*[@id="act_1"]/div[1]/table/tbody/tr/td[2]
以下代码生成一个空列表:
import urllib2
from lxml import etree
url = "https://www.fs.usda.gov/recarea/superior/recreation/camping-cabins/recarea/?recid=36913&actid=29"
response = urllib2.urlopen(url)
htmlparser = etree.HTMLParser()
tree = etree.parse(response, htmlparser)
x = tree.xpath('//*[@id="act_1"]/div[1]/table/tbody/tr/td[2]')
print x
预期产出应为:
>>> print x
['4']
如何提取网页中的单个元素(即“4”)?这个xpath似乎适合我(注意没有tbody),并使用text()
从节点提取文本:
x = tree.xpath('//*[@id="act_1"]/div[1]/table/tr/td[2]/text()')
print(x[0].strip())
# 4