[Tutor] Re: Finding text in a long string
Shantanu Mahajan
python@dhumketu.cjb.net
Tue Jun 17 13:11:02 2003
+-- Timothy M. Brauch [python-tutor] [16-06-03 22:51 -0400]:
| I am just having troubles with something I know is easy.
|
| I've got a small script written that pulls the data from a webpage. What I
| am trying to do is to see if "image1.gif" is in the html or not. The
| problem I am having is that it might be labelled as
| http://domain.com/image1.gif or it might be ../images/image1.gif or
| something else (it can change with each page) and it is going to be in an
| html tag. I could do it if "image1.gif" was plain text. I'm having trouble
| however in this case.
|
| I tried some things like:
|
| data = urllib.urlopen(ADDRESS).read()
| if "image1.gif" in data:
| print "Success"
| else: print "Failure
|
| That gives me the error
| Traceback (most recent call last):
| File "<pyshell#23>", line 1, in ?
| if "offline.gif" in data:
| TypeError: 'in <string>' requires character as left operand
| which tells me it can only check if a certain character is in a string or
| not.
|
| I've tried
|
| dataList = data.split()
| for i in dataList:
| if "image1.gif" in i
| ...
|
| I get the same error. I've tried. Because the location of "image1.gif" can
| change and it could be either a relative location or an absolute location,
| the following doesn't work either:
|
| for i in dataList:
| if i == "image1.gif"
|
| I feel like a regular expression would help here, but I'm not sure how I
| would do this. Any suggestions?
|
| - Tim
check out 're' module.
Regards,
Shantanu
--
Nice tcsh prompt: set prompt = '%n@%m:%~%# '