javascript - 搜索后如何解析网址?
问题描述
在使用任何语言搜索后,我正在尝试解析 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+)-.+/
.
如果您需要更多解释,请告诉我。
推荐阅读
- eclipse - Eclipse Milo 在一个请求中读取多个/选择性标签/nodeId 数组的值
- bash - 如何在没有父目录结构和点的情况下压缩为 tarball?
- javascript - 无法在子组件中读取包含对象数组的道具
- odoo - Odoo mail.activity 创建
- excel - 根据单元格值创建依赖下拉列表
- css - 在 Bootstrap 中,如何仅为移动菜单编辑 CSS?
- html - 有人能告诉我我的 CSS 文件有什么问题吗?当我调用原色时,它不会显示在我的 html 中
- algorithm - 将数字除以组和组的总数,始终大于0
- ios - ios 这花费的时间比预期的要长
- c# - Unity 3D:如何创建叠加菜单?