fork download
  1. import re
  2. line1=r'''192.168.10.20 - - [18/Jul/2017:08:41:37 +0000] "PUT /search/tag/list HTTP/1.0" 200 5042 "http://c...content-available-to-author-only...r.com/homepage/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/5342 (KHTML, like Gecko) Chrome/14.0.870.0 Safari/5342"
  3. 10.30.24.3 - - [18/Jul/2017:08:45:15 +0000] "POST /search/tag/list HTTP/1.0" 200 4939 "http://w...content-available-to-author-only...n.net/category/main/list/privacy/" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/5322 (KHTML, like Gecko) Chrome/14.0.843.0 Safari/5322"
  4. 98.5.45.3 - - [18/Jul/2017:08:45:49 +0000] "GET /apps/cart.jsp?appID=8471 HTTP/1.0" 200 4958 "http://k...content-available-to-author-only...e.com/post.jsp" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_7_3; rv:1.9.6.20) Gecko/2013-11-03 17:44:01 Firefox/3.8"'''
  5.  
  6. rx = r"^\d{1,3}(?:\.\d{1,3}){3}\b"
  7. listofip = re.findall(rx, line1, re.M)
  8. result ={}
  9. for ip in listofip:
  10. if ip in result:
  11. result[ip] += 1
  12. else:
  13. result[ip] = 1
  14. print(result)
Success #stdin #stdout 0.03s 9584KB
stdin
Standard input is empty
stdout
{'192.168.10.20': 1, '10.30.24.3': 1, '98.5.45.3': 1}