当前位置: 首页 > news >正文

网站的轮播图一般是做多大郫都区网站建设

网站的轮播图一般是做多大,郫都区网站建设,长沙企业网站建设公司,专业网络建站公司获取不同类型的数据源: 对于看上的网站如何获取其信息: 1.分析原网站是如何获取到这些数据的?哪个接口?哪些参数? 2.用程序去调用接口(python/java都可以) 3.处理一些数据,优化数…

获取不同类型的数据源:

对于看上的网站如何获取其信息:

1.分析原网站是如何获取到这些数据的?哪个接口?哪些参数?

2.用程序去调用接口(python/java都可以)

3.处理一些数据,优化数据传入数据库

java爬虫操作流程:

先创建一个实体类:根据网络上需要操作的请求的属性规定实体类属性一一对应。

爬取:https://www.code-nav.cn/learn/passage

数据抓取的几种方式:

1.直接去请求接口(最方便)HttpClient,OkHttp,Hutool,resttemplate

2.等网页渲染出明文内容后,从前端页面的内存抓取

3.有一些网站可能是动态请求的,他不会一次性加载所有数据,而是要你点击某个按钮,输入某个验证码后才会显示出数据。 => 无头浏览器(后台代替开启浏览器)比如:java的selenium和nodejs的puppeteer

数据抓取流程:

1.分析数据源(怎么获取)

2.拿到数据后,怎么处理?

3.写入数据库等存储

1.方式一:使用okhttp

        1.引入依赖

<!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -->
<dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.1.0</version>
</dependency>

        2.构造请求

Okhttp3 完成页面请求,需要三大步骤:

  1. 实例化 OkHttpClient
  2. 执行调用。
    1. 在执行调用之前,需要实例化一个 Request 对象
    2. 然后构建调用对象 
    3. 最后执行调用,如果调用失败可能抛异常,所以必须抓取异常
  3. 调用对象的方法即可获取返回的字符串内容

get请求

public class Main {public static void main(String[] args) throws IOException {String url = "https://4399.com";OkHttpClient okHttpClient = new OkHttpClient();Request request = new Request.Builder().url(url).build();Call call = okHttpClient.newCall(request);String string = call.execute().body().string();System.out.println(string);}
}

 post请求

    public static final MediaType JSON_TYPE = MediaType.parse("application/json; charset=utf-8");/*** 向指定的 url 提交数据,以 json 的方式*/public String postContent(String url, Map<String, String> datas) {// okHttpClient 实例OkHttpClient okHttpClient = new OkHttpClient();// 数据对象转换成 json 格式字符串String param = JSON.toJSONString(datas);//post方式提交的数据RequestBody requestBody = RequestBody.create(JSON_TYPE, param);Request request = new Request.Builder().url(url).post(requestBody).build();// 使用client去请求Call call = okHttpClient.newCall(request);// 返回结果字符串String result = null;try {// 获得返回结果result = call.execute().body().string();} catch (IOException e) {// 抓取异常System.out.println("request " + url + " error . ");e.printStackTrace();}return result;}public static void main(String[] args) {String url = "https://4399.com";Map<String, String> datas = new HashMap();datas.put("num", "6666");Main poster = new Main();String content = poster.postContent(url, datas);System.out.println("API调用结果");System.out.println(content);}

2.方式二:使用Hutool

<!-- https://hutool.cn/docs/index.html#/-->
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.8</version>
</dependency>
public static void main(String[] args) throws IOException {String json = "{\n" +"  \"current\": 1,\n" +"  \"pageSize\": 8,\n" +"  \"sortField\": \"createTime\",\n" +"  \"sortOrder\": \"descend\",\n" +"  \"category\": \"文章\",\n" +"  \"tags\": [],\n" +"  \"reviewStatus\": 1\n" +"}";String url = "https://4399.com";String result2 = HttpRequest.post(url).body(json).execute().body();String uu = "F:\\user-center-backend\\src\\main\\java\\com\\yupi\\usercenter";File file = new File(uu, "result.json");file.createNewFile();FileWriter fileWriter = new FileWriter(file);fileWriter.write(result2);System.out.println(result2);
}

3.方式三:使用Jsoup

        1.引入依赖

<!--        jsoup--><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.15.3</version></dependency>

        2.构造请求 

package org.example.cetidenet;import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import org.example.cetidenet.model.entity.Post;
import org.example.cetidenet.service.PostService;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;@SpringBootTest
class CetideNetApplicationTests {@Autowiredprivate PostService postService;void testFetchPic() throws IOException {int current = 1;String url = "https://4399.com";Document doc = Jsoup.connect(url).get();Elements elements = doc.select(".iuscp.isv");for(Element h : elements){//取图片地址(murl)String m = h.select(".iusc").get(0).attr("m");//取地址Map<String,Object> result = JSONUtil.toBean(m,Map.class);String murl = (String)result.get("murl");System.out.println(murl);String title =h.select(".inflnk").get(0).attr("aria-label");System.out.println(title);}}
}

http://www.yayakq.cn/news/202379/

相关文章:

  • 株洲网站网络推广怎么做肇庆市有限公司网站建设
  • 申请做网站要什么局wordpress 维护插件
  • 网站开发课题的目的与意义做网站买空间多少钱
  • 思科中国网站开发案例深圳网站商城定制设计
  • 南昌专业做网站公司辽宁省住房建设厅网站
  • 网站模版 源码之家wordpress景点展示插件
  • 邯郸人才网官网seo代码优化工具
  • 湘潭做网站选择磐石网络Wordpress博客怎么盈利
  • 行业前10的网站建设公如何利用互联网宣传与推广
  • 规划电子商务网站建设方案付网站开发费计入什么科目
  • 现在1做啥网站流量大网页设计尺寸规格
  • 建设系统网站首页微信营销的特点
  • 南充网站设计东莞市住房建设局网站
  • 厦门app开发网站开发公司电话个人网站建设的背景
  • 网站域名云服务器是什么大连手机网站开发
  • 珠海做网站设计贵港网站建设
  • 网站建设方案书的内容管理制度塘厦三正半山酒店
  • 中山做网站推广公司做外贸国外网站
  • 旅游网站的设计与制作htmlwordpress注册邮件无法
  • 深圳网站设计九曲如何加入百度推广
  • 菏泽财富中心网站建设深圳网站设计兴田德润简介
  • 上饶网站建设兼职wordpress主题 站长
  • 网站建设的风险管理链接推广软件
  • 自己设置免费网站设计平台网站建设对网络营销的影响
  • 公司网站开发费用如何做账南通智能模板建站
  • 网站建设图书中国建设银行龙卡信用卡网站
  • 郑州专业做网站公asp.net做网站步骤
  • 网站系统流程图注册小程序要多少钱
  • 哪个网站建设服务器是在国外的外链代发排名
  • 优秀中文企业网站欣赏雅虎搜索引擎中文版