Java网络爬虫——jsoup快速上手,爬取京东数据。同时解决‘京东安全’防爬问题
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JDSpider {
public static void main(String[] args) {
String url = "https://www.jd.com/";
try {
// 设置请求头,模拟浏览器访问
Document doc = Jsoup.connect(url)
.userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36")
.get();
// 解析HTML并获取需要的数据
Elements elements = doc.select("div.gl-item");
for (Element element : elements) {
Elements imgElements = element.select("img.gl-i-img");
String imageUrl = imgElements.attr("data-lazy-img"); // 使用'data-lazy-img'属性获取图片链接
String price = element.select("div.p-price").text();
String name = element.select("div.p-name em").text();
System.out.println("图片链接:" + imageUrl);
System.out.println("价格:" + price);
System.out.println("商品名称:" + name);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
这段代码使用了jsoup库来模拟浏览器请求京东首页,并解析出了图片、价格和商品名称信息。注意,由于爬取的数据涉及到个人隐私和网站版权,所以在实际应用中应确保遵守相关法律法规,并尊重网站的robot.txt规则以及版权政策。此外,为了避免被追踪,应该设置合适的User-Agent,并在爬取数据时采取适当的间隔和访问策略。
评论已关闭