Content filtering of webpage
Per my comment, follow the style guide - for example, there should be whitespace around = when assigning, and after commas:

i, k = 0, end - start




content is not a good name for your function. You should be more descriptive of what it actually does (perhaps filter_content?) and add a docstring providing more information. Throughout your code there are temporary variables with cryptic names (s_list? lst?) that could be changed to make things much clearer - I was wondering why flg isn't Boolean, and it turns out that it isn't actually a flag.



Your approach to removing HTML tags (picking through the whole page character by character) is particularly prone to error; what if one of the attributes within a tag contains '&gt;'? For a good standard library solution, see here.



The conversion to lowercase is, frankly, ludicrous:

i=0
while i&lt;len(lst):
    lst[i]=lst[i].lower()
    i+=1


you had the whole string (called, confusingly, s_list) to hand just two lines beforehand, and

s_list = s_list.lower()


is so much simpler.



As you're making a set to remove duplication:

lst=list(set(lst))


why not keep the set, instead of converting back to list, and use it to do the filtering, too? For example, use set.difference_update:

&gt;&gt;&gt; words = set('this is a sentence to filter'.split())
&gt;&gt;&gt; words.difference_update(['a', 'to', 'this', 'is'])
&gt;&gt;&gt; words
set(['sentence', 'filter'])




Your other function could be simplified significantly:

def page_content(url):
    with urllib.urlopen(url) as f:
        return f.read()