Python - 检测空URL - 使用字符串操作

时间:2013-07-19 03:50:01

标签: python string url

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

href = ''(ideally)
href     = '    ' 

这两种情况虽然第二种情况都有空格,但效果相同。我所做的是将文件中的所有文本都变成一个字符串变量'searchstring'。我已经使用过了 对于前一种情况,searchstring.find('href = '')不等于-1,但如果在第二种情况下变化的空间,我不知道我需要做什么来确保我也抓住那些情景... 最初我想到使用索引来捕获索引,并且  然后遍历,但这对我来说似乎是一个费力的解决方案.... 这可能看起来很愚蠢,但我是python的新手,从昨天开始学习。任何人都可以分享一些见解

提前多多感谢, 菲利普

4 个答案:

答案 0 :(得分: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"

答案 1 :(得分:0)

检查bool的长度(或更好,href.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

答案 2 :(得分:0)

为什么不剥离href

href = href.strip()

if href.strip():
    print "not empty"
else:
    print "empty"

答案 3 :(得分:0)

您可以使用re。你最好阅读documentation

>>> import re
>>> s='href=""adjfweofhref="   "'
>>> pattern = re.compile(r'href=[\"\']\s*[\"\']')
>>> pattern.findall(s)
['href=""', 'href="   "']
>>>