使用 lxml python 抓取数据

Scrape data using lxml python

我正在尝试创建一个将联盟抓取到字典中的函数。然而,它似乎将一个数组添加到字典中而不仅仅是字符串。这是怎么来的

html 我正在尝试抓取:

<fieldset>
    <legend align="center">
        <a href="/dota2/events/297-the-summit-3">The Summit 3</a> 

   </legend>
</fieldset>

Pythonget_league函数。 self.url 是 url 其中 html 是

def get_league(self):
    request = requests.get(self.url)
    tree = html.fromstring(request.content)
    league = tree.xpath("//legend[@align='center']/a/text()")
    return league

加入字典

data['league'] = self.get_league()[0]

JSON中的输出

"league": [
"The Summit 3"
]

预期输出

"league":"The Summit 3"

findtext() 在这种情况下会很方便:

league = tree.findtext("//legend[@align='center']/a)")