jsoup怎么抓取js里面的东西

原地址:https://qy-bb.blog.csdn.net/article/details/51490503?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=1

package com.hxqc.pricemonitor.trans;
 
import java.util.HashMap;
import java.util.Map;
 
 
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
 
/**
 * @author FANGYUKANG
 * @Title SerieExtTool
 * @Description TODO(根据车系ID查找车系:OPTINE内容,属性,颜色,内饰颜色)
 * @Date: 2016年05月17日  下午16:30:52
 */
public class SerieExtTool {
	
	/*设置网页抓取响应时间*/
	private static final int TIMEOUT = 10000;
	
	public static Map<String, Object> getSerieExtDetail(int serieId) throws Exception{
		
		/*车系参数配置页面*/
		String serieInfo = "http://car.autohome.com.cn/config/series/"+serieId+".html";
		
		/*用來封裝要保存的参数*/
		Map<String, Object> map = new HashMap<String, Object>();
		
		/*取得车系参数配置页面文档*/
		Document document = Jsoup.connect(serieInfo).timeout(TIMEOUT).get();
		
		/*取得script下面的JS变量*/
		Elements e = document.getElementsByTag("script").eq(6);
		
		/*循环遍历script下面的JS变量*/
		for (Element element : e) {
			
			/*取得JS变量数组*/
			String[] data = element.data().toString().split("var");
			
			/*取得单个JS变量*/
			for(String variable : data){
				
				/*过滤variable为空的数据*/
				if(variable.contains("=")){
					
					/*取到满足条件的JS变量*/
					if(variable.contains("option") || variable.contains("config") 
							|| variable.contains("color") || variable.contains("innerColor")){
						
						String[]  kvp = variable.split("=");
						
						/*取得JS变量存入map*/
						if(!map.containsKey(kvp[0].trim())) 
							map.put(kvp[0].trim(), kvp[1].trim().substring(0, kvp[1].trim().length()-1).toString());
					}
				}
			}
		}
		return map;
	}
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Jsoup抓取携程旅游网的数据头歌可以通过以下步骤实现: 1. 导入Jsoup库:首先需要在项目中导入Jsoup库,可以通过在项目的依赖中添加Jsoup的Maven依赖或者手动将Jsoup库导入到项目中。 2. 创建连接:使用Jsoup库中的`connect()`方法创建一个与携程旅游网连接的对象。例如,可以使用以下代码创建一个与携程旅游网首页连接的对象: ```java String url = "https://www.ctrip.com/"; Connection connection = Jsoup.connect(url); ``` 3. 发送请求并获HTML内容:使用连接对象的`get()`方法发送请求并获携程旅游网的HTML内容。例如,可以使用以下代码发送请求并获HTML内容: ```java Document document = connection.get(); ``` 4. 解析HTML内容:使用Jsoup库中提供的方法解析HTML内容,获到所需的数据。例如,可以使用以下代码获携程旅游网首页的标题: ```java String title = document.title(); ``` 5. 提数据:根据需要,使用Jsoup提供的选择器、过滤器等方法提页面中的特定数据。例如,可以使用以下代码提携程旅游网首页的所有图片链接: ```java Elements imgElements = document.select("img"); for (Element imgElement : imgElements) { String imgUrl = imgElement.attr("src"); // 进一步处理图片链接... } ``` 以上是简单的示例,通过以上步骤可以使用Jsoup抓取携程旅游网的数据。根据具体的需求和页面结构,可以使用更多的Jsoup方法来提所需的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值