[英]How do I parse url after searching?
在使用任何语言搜索后,我正在尝试解析 url 的特定部分。(理想情况下是 Javascript,但对 Python 开放)
如何获取 url 的特定部分并保存/存储?
例如,在songking.com中,获取artist_id的方法是在网站搜索栏搜索艺人名称后,查看url的特定部分。
在下面的例子中,艺术家 ID 是301329 。
https://www.songkick.com/artists/ 301329 -rac
我坚信有一种方法可以使用 python 或 js 来解析这部分,因为我有一个 csv 文件,其列中有艺术家姓名。 而不是一一搜索所有的艺术家。 我想知道识字我的 csv 列并对其进行搜索并解析 url 并保存/存储的算法。
即使我只能得到一个可以开始的提示,我也会非常感激。
非常感谢你。
可以使用正则表达式来完成。
这是 JavaScript 实现的示例
const url = "https://www.songkick.com/artists/301329-rac";
const regex = /https:\/\/www\.songkick\.com\/artists\/(\d+)-.+/;
const match = url.match(regex);
if (match) {
console.log('Artist ID: ' + match[1]);
} else {
console.log('No Artist ID found!');
}
这个正则表达式/https:\/\/www\.songkick\.com\/artists\/(\d+)-.+/
意味着我们正在尝试匹配以https://www.songkick 开头的内容。 com/artists/ ,前面是一组小数,一个破折号,然后是一组字母。
match() 方法检索将字符串与正则表达式匹配的结果。
因此它将返回第一个索引中的整个字符串,然后返回第二个索引中的匹配(\d+)
组(在我们的例子中为match[1]
)。
如果您不确定协议(http 与 https),您可以添加一个?
在 https 之后的正则表达式中。 这使得 https 中的 s 是可选的。 所以正则表达式会变成/https?:\/\/www\.songkick\.com\/artists\/(\d+)-.+/
。
如果您需要更多解释,请告诉我。
首先,您可以简单地使用RegEx 。 在python
import re
url = 'https://www.songkick.com/artists/301329-rac'
pattern = '/artists/(\d+)-\w'
match = re.search(pattern, url)
if match:
artist_id = match.group(1)
我希望这能帮到您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.