Advertisement
Guest User

Mining Mailinator 2, Web Scraping Public Email

a guest
Mar 13th, 2013
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. #Original Author: http://www.malos-ojos.com/?p=445
  2. #Much Thanks!
  3. #Forked from: http://cl.ly/3Jo7
  4. #updated by gremlin 13 MAR 2013
  5. #recognizing, no error handling, ungraceful parsing. Have fun!
  6.  
  7. import urllib
  8. import re
  9. import string
  10. import csv
  11.  
  12. words = []
  13. mails = []
  14. counter = 0
  15.  
  16. outWriter = csv.writer(open('data.csv', 'wb'), delimiter=',')
  17. file = open('words.txt', 'r')
  18.  
  19. for line in file:
  20. words.append(line)
  21. counter += 1
  22.  
  23. print "\n"
  24. print "imported %i word(s)" % counter
  25. counter = 0
  26.  
  27. for word in words:
  28. o = urllib.FancyURLopener({})
  29. c = o.open("http://www.mailinator.com/rss.jsp?email=%s" % word)
  30. s = c.read()
  31.  
  32. r = re.findall('item\srdf:about=\"(.*)">', s)
  33.  
  34. for item in r:
  35. n = string.replace(item, 'amp;', '')
  36. #Experimental View
  37. #n = string.replace(n, 'displayemail', 'displayemail1')
  38. x = re.findall('@([^&]*)', n) #remove mail domain ex. '@mailinator.com'
  39. y = '@' + x[0]
  40. n = string.replace(n, y, '')
  41. mails.append(n)
  42. counter += 1
  43.  
  44. print "mined %i e-mail(s)" % counter
  45. counter = 0
  46.  
  47. for item in mails:
  48. print item
  49. o = urllib.FancyURLopener({})
  50. c = o.open(item)
  51. s = c.read()
  52.  
  53. t = re.search('<td\sclass=\"label\">To\:<\/td>\s*<td\sclass=\"data\"\swidth\=\"300px\">(.*)\s*<\/td>', s)
  54. f = re.search('<td\sclass=\"label\">From\:<\/td>\s*<td\sclass=\"data\">(.*)\s*<\/td>', s)
  55. j = re.search('<td\sclass=\"label\">Subject\:<\/td>\s*<td\sclass=\"data\">(.*)\s*<\/td>', s)
  56.  
  57. if t and f and j:
  58. outWriter.writerow([t.group(1), f.group(1), j.group(1), item])
  59. counter += 3
  60.  
  61. print "wrote %i pieces of data to csv" % counter
  62. print "\n"
  63. file.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement