import java.net.*
public class HelloHttp {
}
接著就可以仿照下列范例建立HTTP连线:
URL url = new URL("http://tw.yahoo.com")
HttpURLConnection http = (HttpURLConnection) url.openConnection()
http.setRequestMethod("POST")
InputStream input = http.getInputStream()
http.disconnect()
第1行建立一个URL物件,带入参数为想要建立HTTP连线的目的地,例如网站的网址。
第2行建立一个HttpURLConnection物件,并利用URL的openConnection()来建立连线。
第3行利用setRequestMethod()来设定连线的方式,一般分为POST及GET两种。
第4行将连线取得的回应载入到一个InputStream中,然後就可以将InputStream的内容取出应用,以这个例子而言我们取得的会是网页的原始码。
第5行用disconnect()将连线关闭。
将InputStream内容取出应用的范例如下:
byte[] data = new byte[1024]
int idx = input.read(data)
String str = new String(data, 0, idx)
System.out.println(str)
input.close()
针对 str 作 regular expression 处理 , 依照需求取得内容。
/*这是个下载图片的爬虫,给你参考一下*/
import java.io.File
import java.net.URL
import java.net.URLConnection
import java.nio.file.Files
import java.nio.file.Paths
import java.util.Scanner
import java.util.UUID
import java.util.regex.Matcher
import java.util.regex.Pattern
public class DownMM {
public static void main(String[] args) throws Exception {
//out为输出的路径,注意要以\\结尾
String out = "D:\\JSP\\pic\\java\\"
try{
File f = new File(out)
if(! f.exists()) {
f.mkdirs()
}
}catch(Exception e){
System.out.println("no")
}
String url = "http://www.mzitu.com/share/comment-page-"
Pattern reg = Pattern.compile("<img src=\"(.*?)\"")
for(int j=0, i=1i<=10i++){
URL uu = new URL(url+i)
URLConnection conn = uu.openConnection()
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.3WOW64Trident/7.0rv:11.0) like Gecko")
Scanner sc = new Scanner(conn.getInputStream())
Matcher m = reg.matcher(sc.useDelimiter("\\A").next())
while(m.find()){
Files.copy(new URL(m.group(1)).openStream(), Paths.get(out + UUID.randomUUID() + ".jpg"))
System.out.println("已下载:"+j++)
}
}
}
}
使用jsoup解析到这个url就行,dom结构如下:
look-inside-cover类只有一个,所以直接找到这个img元素,获取src属性,就可以获取到图片路径。
代码实现如下:
Document doc = Jsoup.connect("http://link.springer.com/book/10.1057%2F9780230290617").get()Elements imgs = doc.select(".look-inside-cover")
String imgUrl = imgs.get(0).attr("src")
jsoup的jar包分享给你:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)