--- a/progs/app4.scala Sun Sep 21 17:40:04 2014 +0100
+++ b/progs/app4.scala Sun Sep 21 23:23:43 2014 +0100
@@ -1,15 +1,17 @@
-val http_pattern = """\"https?://[^\"]*\"""".r
+val http_pattern = """"https?://[^"]*"""".r
val my_urls = """urbanc""".r
val email_pattern =
"""([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})""".r
+def print_str(s: String) =
+ if (s == "") () else println(s)
+
def crawl(url: String, n: Int) : Unit = {
if (n == 0) ()
else {
println(s"Visiting: $n $url")
val page = get_page(url)
- println(email_pattern.findAllIn(page).mkString("\n"))
- for (u <- get_all_URLs(page))
- crawl(u, n - 1)
+ print_str(email_pattern.findAllIn(page).mkString("\n"))
+ for (u <- get_all_URLs(page).par) crawl(u, n - 1)
}
}