Skip to main content
 首页 » 编程设计

python之在 Python (Django) 中解析文本

2025年05月04日23powertoolsteam

我的文字看起来像:

Link(base_url=u'http://www.bing.com/search?q=site%3Asomesite.com', url='http://www.somesite.com/prof.php?pID=478', text='SomeSite -  Professor Rating of Louis Scerbo', tag='a', attrs=[('href', 'http://www.somesite.com/prof.php?pID=478'), ('h', 'ID=SERP,5105.1')])Link(base_url=u'http://www.bing.com/search?q=site%3Asomesite.com', url='http://www.somesite.com/prof.php?pID=527', text='SomeSite -  Professor Rating of Jahan \xe2\x80\xa6', tag='a', attrs=[('href', 'http://www.somesite.com/prof.php?pID=527'), ('h', 'ID=SERP,5118.1')])Link(base_url=u'http://www.bing.com/search?q=site%3Asomesite.com', url='http://www.somesite.com/prof.php?pID=645', text='SomeSite -  Professor Rating of David Kutzik', tag='a', attrs=[('href', 'http://www.somesite.com/prof.php?pID=645'), ('h', 'ID=SERP,5131.1')]) 

问题

  1. 有人知道这段文字的格式吗?

  2. 例如,我将如何解析元素 url 的值(来自上面的文本): http://www.somesite.com/prof.php?pID=478 http://www.somesite.com/prof.php?pID=527

  3. 你会推荐什么 python 库来解析这种类型的输出、xml、json 等?

我只是想遍历 url 并只解析 url 的值。

请记住,我使用的是 Django。

感谢您提供的任何帮助。

编辑 *当前代码:*

domainLinkOutputAsString = str(domainLinkOutput)  
 
r = re.compile(" url='(.*?)',", )  ##ERRORENOUS, must be 're' compliant. 
 
ProperDomains = r.findall(domainLinkOutputAsString) 
 
return HttpResponse(ProperDomains) 

请您参考如下方法:

您可以简单地使用 Python Regexp :

import re 
text = "Link(base_url=u'http://www.bing.com/search?q=site%3Asomesite.com', url='http://www.somesite.com/prof.php?pID=478', text='SomeSite -  Professor Rating of Louis Scerbo', tag='a', attrs=[('href', 'http://www.somesite.com/prof.php?pID=478'), ('h', 'ID=SERP,5105.1')])Link(base_url=u'http://www.bing.com/search?q=site%3Asomesite.com', url='http://www.somesite.com/prof.php?pID=527', text='SomeSite -  Professor Rating of Jahan \xe2\x80\xa6', tag='a', attrs=[('href', 'http://www.somesite.com/prof.php?pID=527'), ('h', 'ID=SERP,5118.1')])Link(base_url=u'http://www.bing.com/search?q=site%3Asomesite.com', url='http://www.somesite.com/prof.php?pID=645', text='SomeSite -  Professor Rating of David Kutzik', tag='a', attrs=[('href', 'http://www.somesite.com/prof.php?pID=645'), ('h', 'ID=SERP,5131.1')])" 
 
# Create the regexp object to match the value of 'url' 
r = re.compile(" url='(.*?)',", ) 
 
# Print all matches 
print r.findall(text) 
 
>>>['http://www.somesite.com/prof.php?pID=478', 'http://www.somesite.com/prof.php?pID=527', 'http://www.somesite.com/prof.php?pID=645']