Python 如何使用lxml从html锚中提取href url?

Python 如何使用lxml从html锚中提取href url?,python,python-3.x,web-scraping,lxml,Python,Python 3.x,Web Scraping,Lxml,我尝试使用lxml提取下一页href字符串 例如,我尝试从以下示例中的html中提取“/review/bull.co.uk?b=mtyxotg5Mde1otwmhw2mdhkogzmlzmy5zjq4nza4zta4mwi2mzk”: <nav rel="nav" class="pagination-container AjaxPager"> <a href="/review/bulb.co.uk?b=MTYxOTg5M

我尝试使用lxml提取下一页href字符串

例如,我尝试从以下示例中的html中提取“/review/bull.co.uk?b=mtyxotg5Mde1otwmhw2mdhkogzmlzmy5zjq4nza4zta4mwi2mzk”:

<nav rel="nav" class="pagination-container AjaxPager">
    <a href="/review/bulb.co.uk?b=MTYxOTg5MDE1OTAwMHw2MDhkOGZlZmY5ZjQ4NzA4ZTA4MWI2Mzk" data-page-number="next-page" class="button button--primary next-page" rel="next" data-track-link="{'target': 'Company profile', 'name': 'navigation', 'navigationType': 'next'}">
Next page
    </a>
</nav>

知道我做错了什么吗?

对代码进行此更改

href = tree.xpath('//a[@class="button button--primary next-page"]/@href')
href[0]
给我这个输出:

'/review/bulb.co.uk?b=MTYxOTk1ODMxMzAwMHw2MDhlOWEyOWY5ZjQ4NzA4ZTA4MjMxNTE'

与问题中的输出接近(其值可能会动态更改)。

XPath返回所有锚的所有HREF。如果您只想要一个,您是否尝试过
tree.xpath('//a/@href')[0]
?@OneCricketeer我正在寻找一种方法来提取包含此类的的的href:class=“button button--primary next page”。无法保证我要查找的href每次在列表上都有相同的索引。如果您想解析html类,请直接使用beautifulsoup而不是lxml,或者您可以使用
contains(@class
解决方案,如您前面的问题答案所示。要对此进行扩展,请阅读有关xpath谓词的内容。
'/review/bulb.co.uk?b=MTYxOTk1ODMxMzAwMHw2MDhlOWEyOWY5ZjQ4NzA4ZTA4MjMxNTE'