result = re.findall('<li><a href="/song\?id=(\d+)">(.*?)</a></li>', response.text)怎么在这串代码里添加获取歌手名字
时间: 2024-05-13 12:19:38 浏览: 83
你可以在正则表达式中添加一个分组,用来匹配歌手名字,然后在 `findall` 的结果列表中添加歌手名字。例如:
```python
result = re.findall('<li><a href="/song\?id=(\d+)">(.*?)</a> - (.*?)</li>', response.text)
```
这里我们在原来的表达式中添加了一个 `-`,用来分隔歌曲名和歌手名。然后我们在正则表达式中添加一个分组 `(.*?)` 来匹配歌手名字。这个分组会匹配任意长度的字符串,直到遇到下一个 `-`。
然后我们在 `findall` 的结果列表中添加一个元素,用来表示歌手名字。例如:
```python
for item in result:
song_id = item[0]
song_name = item[1]
artist_name = item[2]
print(song_id, song_name, artist_name)
```
这样就可以同时获取歌曲名和歌手名了。
阅读全文