用正则表达式提取Python url数据

用正则表达式提取Python url数据,python,regex,replace,Python,Regex,Replace,我想从Python中的HTML标记中检索内容和href链接 我是regex的初学者,能够通过以下方式检索href内容: urls = re.findall('<a class="title" href="(.*?)" title', page) url=re.findall(“”,第页) 如何以正确的方式进行 提前感谢。正确的方法是使用类似的解析器。试图用正则表达式解析HTML是件很糟糕的事情,在遇到困难之前,你不会走多远。正确的方法是使用类似的解析器。试图用正则表达式解析HTML简直

我想从Python中的HTML标记中检索内容和
href
链接

我是regex的初学者,能够通过以下方式检索href内容:

urls = re.findall('<a class="title" href="(.*?)" title', page)
url=re.findall(“”,第页)
如何以正确的方式进行


提前感谢。

正确的方法是使用类似的解析器。试图用正则表达式解析HTML是件很糟糕的事情,在遇到困难之前,你不会走多远。

正确的方法是使用类似的解析器。试图用正则表达式解析HTML简直是地狱,在你撞到墙之前,你不会走多远。

这对我从heise.de获取URL起到了作用:

urls = re.findall('<a .*?href="(.*?)".*?>', page)
url=re.findall(“”,第页)

我真的不知道第二个标题在你的正则表达式中有什么作用,也许你也可以给出一个不匹配的示例文本。然后,我可以给你一个更好的答案,为什么你的正则表达式不起作用,这对我从heise.de获取URL很有用:

urls = re.findall('<a .*?href="(.*?)".*?>', page)
url=re.findall(“”,第页)

我真的不知道第二个标题在你的正则表达式中有什么作用,也许你也可以给出一个不匹配的示例文本。然后我可以给你一个更好的答案,为什么你的正则表达式不起作用

正确的方法是使用HTML解析器。你试过使用BeautifulSoup吗?。@KamyarGhasemlou这不是因为它不关心标记的内容。使用HTML解析器对像这样的小片段可行吗?你是指包含标记内容的url吗?(通常是标签,所以我被你的答案弄糊涂了)这样做“正确的方法”是使用HTML解析器。你试过使用BeautifulSoup吗?。@KamyarGhasemlou这不是因为那里,它不关心标签的内容。对于像这样的小片段,使用HTML解析器可行吗?你是指包含标签内容的url吗?(通常是标签,所以我被你的回答弄糊涂了)
urls = re.findall('<a .*?href="(.*?)".*?>(.*?)</a>', page)