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

微博上如何做网站推广购物网站 功能

微博上如何做网站推广,购物网站 功能,千锋教育费用多少,WordPress 会员空间插件原项目链接 Java爬虫抓取豆瓣图书信息 本地运行 运行过程 另建项目,把四个源代码文件拷贝到自己的包下面 在代码爆红处按ALTENTER自动导入maven依赖 直接运行Main.main方法,启动项目 运行结果 在本地磁盘上生成三个xml文件 其中的内容即位爬取…

原项目链接

Java爬虫抓取豆瓣图书信息

本地运行

运行过程

另建项目,把四个源代码文件拷贝到自己的包下面
在这里插入图片描述
在代码爆红处按ALT+ENTER自动导入maven依赖
在这里插入图片描述
直接运行Main.main方法,启动项目
在这里插入图片描述

运行结果

在本地磁盘上生成三个xml文件
在这里插入图片描述
在这里插入图片描述
其中的内容即位爬取后到的图书信息,包括:

  • 书名
  • 作者名
  • 出版社名
  • isbn号
  • 图书对应的豆瓣链接
  • 图书封面图片地址

可惜并没有直接爬取到图书的内容,不过可以凭借爬取得到的图书元数据去其他网站获取电子版pdf

项目运行逻辑

  1. 使用apache提供的httpclient工具包,手动创建一个http客户端
  2. 使用该http客户端向豆瓣官网发送GET请求
  3. 获取response相应数据,类型为html页面
  4. 使用正则表达式工具匹配得到的html页面中有关图书信息的项
  5. 利用dom4j库将这些图书信息项转换成xml元素并存储到本地

收获

CloseableHttpClient接口

该接口代表一个http客户端,实现类可以是InternalHttpClient

创建一个默认http客户端

创建一个不使用代理的默认客户端,使用如下代码

CloseableHttpClient httpClient = HttpClients.createDefault();

创建一个使用代理的http客户端

CloseableHttpClient httpClient = HttpClients.custom().setProxy(new HttpHost(ip,port)).build();

上述代码可以拆解为

//新建一个完全默认的HttpClientBuilder
HttpClientBuilder hb = HttpClients.custom();
//为该HttpClientBuilder设置代理,setProxy方法修改当前hb的代理属性后,返回this自身
hb = hb.setProxy(new HttpHost(ip,port));
//调用build方法完成http客户端的构造
CloseableHttpClient httpClient = hb.build();

关于Java程序内设置的代理与操作系统设置的全局代理的关系,在这篇文章中有更详细的说明【Java程序代理与系统代理关系】

多个重复任务使用多线程解决

List<Thread> threadList = new LinkedList<Thread>();
while (...) {threadList.add(new AClassExtendsThread(...));
}
for (Thread thread:threadList) {thread.start();
}
for (Thread thread:threadList) {try {thread.join();} catch (InterruptedException e) {e.printStackTrace();}
}

使用dom4j写入xml文件

Writer fileWriter;
Element root;//xml根标签,内含要写入的所有信息,这些信息通过其他代码已经存入root中
String fileAddress;
try {fileWriter = new FileWriter(fileAddress);XMLWriter xmlWriter = new XMLWriter(fileWriter);xmlWriter.write(root);xmlWriter.close();System.out.println("[" + fileAddress + "]写入成功");
} catch (IOException e) {e.printStackTrace();
}

正则表达式匹配

String regex;//正则表达式
Pattern xxxRegex = Pattern.compile(regex);
m = xxxRegex.matcher(entityString);
while (m.find()) {//执行对应操作       
}

dom4j标签操作

Element为元素类,或标签类

Document newDocument = DocumentHelper.createDocument();
Element rootElement = newDocument.addElement("root");

添加属性代码

bookElement.addAttribute("id","attribute");

添加子标签代码

bookElement.addElement("name").setText(bookName);
http://www.yayakq.cn/news/310608/

相关文章:

  • 课程网站建设的步骤手机上怎么做自己的网站
  • 什么是手机网站有保障的注册代理
  • 做电商看的网站有哪些内容搜索引擎推广策略
  • 制作国外网站wordpress数据库下载
  • 个人建网站要花多少钱建设通网站不良信用信息撤销
  • 旅行社网站建设哪家好处理营销型网站建设策划的几个误区
  • 做外贸仿牌网站北京网站建设模板
  • 网站策划方案案例徐州手机网站营销公司哪家好
  • 个人网站鉴赏网易免费企业邮箱入口
  • 网站 详细设计有规范
  • 如何建立网站平台百度明星人气榜排名
  • 黑龙江省机场建设集团官网网站做淘宝客网站制作教程
  • 如何制作手机免费网站模板下载网站建设哪里接活
  • 网站建设早会说什么西安做网站公司必达
  • 卡盟怎么网站怎么做新闻危机公关
  • 网站建设发文章几点发比较合适网站建设实践报告绪论
  • 写作网站平台大良营销网站建设效果
  • 文化传播网站建设企业官网型网站模板
  • 个人网站模板psd唐山哪里建筑工地最好
  • 网站建设属于软件开发吗旅游网站的建设依据和背景
  • 国外做建材的网站有哪些上海网站建设维护
  • 什么网站可以做十万的分期付款怎么用ps做网站幻灯片
  • 新乡专业做网站定制衣柜设计方案
  • 免费微网站制作教程视频公众号如何申请
  • p2p网站 开发上海搬家公司哪家好和便宜
  • 网站备案完成后不解析智慧餐厅管理系统
  • 成都分销网站建设定制型营销网站建设
  • 文学类网站模板装修软件排行榜前十名
  • 网站建设容易学吗开小厂一年赚50万
  • 文化共享工程网站建设情况亿度网络网站建设