python url获取帮助regex

2024-04-25 17:57:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个网站,上面有类似<a href="http://www.example.com?read.php=123">有谁能告诉我如何使用python获得这些链接中的所有数字(在本例中是123个)?我不知道如何构造正则表达式。提前谢谢。


Tags: comhttpread网站链接examplewww数字
3条回答

如果您有问题,并决定使用regex,现在您有两个问题

如果您正在阅读一个特定的网页,并且您知道它是如何格式化的,那么regex就可以了——您可以使用S.Mark的答案。要解析一个特定的链接,可以使用Kimvai的答案。但是,要从一个页面获取所有链接,最好使用更严肃的内容。你提出的任何正则表达式解决方案都会有缺陷

我推荐mechanize。如果您注意到,那里的Browser类有一个links方法,它可以获取页面中的所有链接。它的另一个好处是可以为您下载页面=)。在

不管你的链接是如何格式化的(例如,如果有些链接看起来像<a href="foo=123"/>,而有些看起来像<A TARGET="_blank" HREF='foo=123'/>),这都是有效的。在

import re
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(html)
p = re.compile('^.*=([\d]*)$')
for a in soup.findAll('a'):
   m = p.match(a["href"])
   if m:
      print m.groups()[0]
import re
re.findall("\?read\.php=(\d+)",data)

相关问题 更多 >