254
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
1 |
val http_pattern = """"https?://[^"]*"""".r
|
7
|
2 |
val my_urls = """urbanc""".r
|
|
3 |
val email_pattern =
|
|
4 |
"""([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})""".r
|
|
5 |
|
254
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
6 |
def print_str(s: String) =
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
7 |
if (s == "") () else println(s)
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
8 |
|
7
|
9 |
def crawl(url: String, n: Int) : Unit = {
|
|
10 |
if (n == 0) ()
|
|
11 |
else {
|
96
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
12 |
println(s"Visiting: $n $url")
|
7
|
13 |
val page = get_page(url)
|
254
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
14 |
print_str(email_pattern.findAllIn(page).mkString("\n"))
|
Christian Urban <christian dot urban at kcl dot ac dot uk>
diff
changeset
|
15 |
for (u <- get_all_URLs(page).par) crawl(u, n - 1)
|
7
|
16 |
}
|
|
17 |
}
|