0

我需要解析文件并检测空 URL,这些是场景:

href = ''(ideally)
href     = '    ' 

两种情况,尽管第二种情况有空格,但工作方式相同。我所做的是将文件中的所有文本都放入一个字符串变量中。对于上面的前一种情况,'searchstring'我使用 searchstring.find('href = '')不等于-1,但是在第二种情况下,我不确定我需要做什么以确保我也捕捉到这些场景......最初我想使用索引来捕获索引,然后遍历,但这对我来说似乎是一个费力的解决方案......这可能看起来很傻,但对 python 来说是新手,只是从昨天开始学习。任何人都可以分享一些见解

非常感谢,菲利普

4

4 回答 4

1

我将从安装BeautifulSoup开始……然后我将遍历您的文件并让它为您进行解析。

从那里您可以执行以下操作:

## import re ## Don't actually need a regex here:

for link in soup.find_all('a'):
    if not link.get('href').strip():
        print link, "... is empty or spacey"
    ## elif re.search(r'^\s*$',link.get('href')):
        ## print link, "... is spacey"
于 2013-07-19T03:59:07.730 回答
0

检查以下的长度(或者更好的是boolhref.strip()

In [47]: href = ''

In [48]: len(href.strip())
Out[48]: 0

In [49]: bool(href.strip())
Out[49]: False

In [50]: href = '    '

In [51]: len(href.strip())
Out[51]: 0

In [52]: bool(href.strip())
Out[52]: False
于 2013-07-19T03:54:07.607 回答
0

你为什么不去掉href

href = href.strip()

或者

if href.strip():
    print "not empty"
else:
    print "empty"
于 2013-07-19T03:56:24.363 回答
0

您可以使用re. 你最好阅读文档

>>> import re
>>> s='href=""adjfweofhref="   "'
>>> pattern = re.compile(r'href=[\"\']\s*[\"\']')
>>> pattern.findall(s)
['href=""', 'href="   "']
>>> 
于 2013-07-19T03:57:12.300 回答