WS实现搜狐新闻分类搜索

57 阅读1分钟

  搜狐新闻是目前国内新闻平台中数一数二的,我们平时想要看什么样的新闻,找起来是不是比较麻烦呢?今天就给大家带来一个使用Play WS库编写的搜狐新闻的爬虫程序,想要看什么类型的新闻,只要通过它就可以轻松实现,一起来学习一下吧。

image.png   ```scala

  import play.api.libs.ws._

  import scala.concurrent.ExecutionContext.Implicits.global www.jshk.com.cn/mb/reg.asp?…

  object Crawler{

  def main(args:Array[String]):Unit={

  val ws=WS.url("news.sohu.com/")

  val response=ws.get().map{response=>

  response.header("Content-Type")match{

  case"image/*"=>{

  val content=response.body

  //保存图片数据到本地文件

  val file=new java.io.File("output.jpg")

  java.io.BufferedOutputStream(new java.io.FileOutputStream(file)).write(content.array())

  println(s"Image saved to${file.getAbsolutePath}")

  }

  case _=>println("Not an image")

  }

  }

  response.onComplete(_=>println("Request completed"))

  }

  }

  ```

  这个程序首先创建一个WS请求,然后使用get()方法发送请求。然后,它使用.map方法处理响应,以便在响应头部包含"Content-Type"时提取图像数据并将其保存到本地文件中。如果响应头部不包含"Content-Type",则程序会打印"Not an image"。

  请注意,这个程序需要在支持Scala和Play WS的环境中运行。此外,您需要确保您的系统上安装了正确的代理服务器软件,并且代理服务器设置正确,以便能够访问搜狐新闻。如果代理服务器设置不正确,程序可能无法正常运行。此外,您还需要确保程序具有足够的权限,以便能够保存文件到本地文件系统。如果程序没有足够的权限,它可能无法保存文件。