Jsoup爬虫学习笔记

博客围绕Jsoup展开,提及了pom.xml和Java代码。指出部分版本的Url不支持中文解析,原因是编码格式问题,推测编码格式为IOS - …。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#Jsoup

pom.xml

<!--jsoup解析网页-->
        <!--如果想爬一些电影音乐,可以学tika-->
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.10.2</version>
        </dependency>

java代码

//本次实验对象以京东为例
//key是要搜索的关键字
public List<Content> queryKey(String key){
		List<Content> list = new ArrayList<Content>();
		//获得请求   https://search.jd.com/Search?keyword=java
		//前提,需要联网! ajax获取不到
		String url = "https://search.jd.com/Search?keyword="+key;
		//解析网页 Jsoup返回Document就是浏览器Document对象
		Document document = null;
		try {
			document = Jsoup.parse(new URL(url), 30000);
		} catch (IOException e) {
			e.printStackTrace();
		}
		//所有你在js中可以使用的方法这里都可以使用
		Element element = document.getElementById("J_goodsList");
		Elements lis = element.getElementsByTag("li");
		for (Element li : lis) {
			//关于图片特别多的网站,所有的图片都是延迟加载的
			//放在了source-data-lazy-img中
			String img = li.getElementsByTag("img").eq(0).attr("data-lazy-img");
			String price = li.getElementsByClass("p-price").text();
			String name = li.getElementsByClass("p-name").text();
			Content content = new Content();
			content.setImg(img);
			content.setName(name);
			content.setPrice(price);
			list.add(content);
		}
		return list;
	}

部分版本的Url不支持中文的解析,这是因为其中的编码格式的原因,应该是编码格式为IOS-…的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值