页面爬虫的Java 代码
时间: 2024-06-08 12:09:14 浏览: 53
以下是一个简单的 Java 页面爬虫代码示例:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
public class PageCrawler {
public static void main(String[] args) throws Exception {
String url = "https://www.example.com";
URL obj = new URL(url);
BufferedReader in = new BufferedReader(new InputStreamReader(obj.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
}
}
```
这个代码使用 Java 的 URL 类打开指定的网址,并读取其中的内容。它使用 BufferedReader 类来逐行读取网页内容,并将其输出到控制台。请注意,此代码只能读取公共网页,而不能读取需要登录或具有其他访问权限的网页。
相关问题
百度天气爬虫java代码
以下是一个简单的 Java 爬取百度天气的示例代码:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class WeatherSpider {
public static void main(String[] args) {
try {
// 百度天气的URL
String url = "https://www.baidu.com/s?ie=UTF-8&wd=%E5%A4%A9%E6%B0%94";
URL baidu = new URL(url);
URLConnection conn = baidu.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line;
while ((line = reader.readLine()) != null) {
// 可以在此处解析页面内容
System.out.println(line);
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
需要注意的是,如果要获取更详细的天气信息,可能需要登录或使用 API 接口。此外,爬虫可能违反网站的使用条款,使用前请仔细阅读相关规定。
亚马逊爬虫java代码示例
以下是一个 Java 代码示例,该爬虫使用了 Apache HttpClient 库来发送 HTTP 请求并解析页面内容。
```
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
public class AmazonCrawler {
public static void main(String[] args) throws IOException {
String url = "https://www.amazon.com/dp/B07BDR5PDW";
HttpClient client = HttpClientBuilder.create().build();
HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request);
// 如果请求成功,将网页内容解析为字符串
if (response.getStatusLine().getStatusCode() == 200) {
String content = EntityUtils.toString(response.getEntity());
Document doc = Jsoup.parse(content);
// 使用 CSS 选择器提取产品标题
Element title = doc.select("span#productTitle").first();
System.out.println("Title: " + title.text());
// 使用 CSS 选择器提取价格
Element price = doc.select("span#priceblock_ourprice").first();
System.out.println("Price: " + price.text());
}
}
}
```
注意:亚马逊可能会阻止爬虫访问其网站,因此请确保您在使用此代码时遵循所有适用的法律和政策。
阅读全文