gpt4 book ai didi

regex - 使用正则表达式或漂亮的汤从 Instagram 抓取某人的网站

转载 作者:行者123 更新时间:2023-12-05 06:34:34 26 4
gpt4 key购买 nike

我想从他们的 Instagram 简介中获取某人的网站。 Instagram 将此网站隐藏在文本/javascript 标签中,因此我无法像通常使用 beautifulsoup 的 anchor 那样获取 url。这是包含我要捕获的内容的页面源代码片段:

...,"country_block":false,"external_url":"https://www.brittanyannecohen.com/pattern-control","blocked_by_viewer":false,...

我注意到我想要获取的链接总是附加到字典中的 external_url 属性(见下图)。

我试图通过使用正则表达式获取此 url 但它不起作用,请参见下面的代码

url=re.findall("[\"external_url\":]['https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+']",soup)

但我得到错误:

bad character range [-\w at position 31

最佳答案

你有一个方括号,你应该有一个圆括号:

url=re.findall("[\"external_url\":]['https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+']",soup)
url=re.findall("[\"external_url\":]('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+']",soup)
^--- change [ to (

线索在错误消息 bad character range [-\w 中,这意味着字符类早于该表达式开始。看前面我们发现 ['https?:...,这也没有意义,那就是问题出在哪里。

我不知道您的正则表达式是否真的有效 - 检查它太复杂了,尤其是当有更简单的方法时。

使用这个正则表达式

(?<="external_url":")[^"]+

整个匹配将成为您的目标 url。

参见 live regex demo .

关于regex - 使用正则表达式或漂亮的汤从 Instagram 抓取某人的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50193879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com