jsoup

分享知识-快乐自己:HttpClient 访问 WebService 开放接口

喜夏-厌秋 提交于 2020-04-24 18:07:06
HttpClient: 场景需求如下:   1、项目中需要与一个基于HTTP协议的第三方的接口进行对接   2、项目中需要动态的调用WebService服务(不生成本地源码)   3、项目中需要利用其它网站的相关数据   这些需求可能或多或少的会发生在平时的开发中,针对每种情况,可能解决方案不止一种。本文使用HttpClient这种工具来讲解HttpClient的相关知识,以及如何使用HttpClient完成上述需求。 HttpClient 不是浏览器?   有人说,HttpClient不就是一个浏览器嘛。。。   可能不少人对HttpClient会产生这种误解,他们的观点是这样的:既然HttpClient是一个HTTP客户端编程工具,那不就相当于是一个浏览器了吗?无非它不能把HTML渲染出页面而已罢了。   其实HttpClient不是浏览器,它是一个HTTP通信库,因此它只提供一个通用浏览器应用程序所期望的功能子集,最根本的区别是HttpClient中没有用户界面,浏览器需要一个渲染引擎来显示页面,并解释用户输入 HttpClient 是什么?   HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。    虽然在 JDK 的 java.net 包中已经提供了访问 HTTP

Android爬取网页JSON数据详细教程【新手向】

寵の児 提交于 2020-04-23 14:24:11
这几天做一个Android获取Json的任务, 发现Jsoup只能获取静态页面,无法获取动态页面的Json数据。 有同学给我更正:Jsoup可以爬取动态页面,但必须要加请求头(data),以下为正确例子: String url = "你的网页接口"; Map data = Maps.newHashMap(); data.put("countryCode", "+86"); data.put("mobile", mobile); data.put("password", "f20332f07cdaab9ec0472655a83438d4"); data.put("invitionCode", "PU9HFMNMZ2FL"); data.put("validateCode", codeCallable); data.put("geetest_challenge", challenge); data.put("geetest_validate", validate); data.put("geetest_seccode", validate + "|jordan"); String json = JSON.toJSONString(data); Connection.Response response = Jsoup.connect(url).ignoreContentType(true

Java爬取同花顺股票数据(附源码)

泪湿孤枕 提交于 2020-04-20 08:34:20
最近有小伙伴问我能不能抓取同花顺的数据,最近股票行情还不错,想把数据抓下来自己分析分析。我大A股,大家都知道的,一个概念火了,相应的股票就都大涨。 如果能及时获取股票涨跌信息,那就能在刚开始火起来的时候杀进去,小赚一笔。但是股票那么多,小伙伴也盯不过来,于是就微信问我,能不能抓取同花顺的板块下的股票信息存到数据库里?他就能根据数据库里的数据,制定一些策略。 俗话说:哪里有痛点,哪里就有编程!不就是个同花顺嘛,办他! 调研背景 于是我点开了同花顺的板块页面: http://q.10jqka.com.cn/gn/ 发现有好268个概念: 分析概念板块的网页HTML发现,268个概念的URL就在HTML中: 打开其中的“阿里巴巴概念”,发现网页又有分页: 分页的数据,是根据接口实时获取的,接口中注入了一些Cooki信息和其他标识,同花顺的反爬虫策略一直比较强,使用模拟接口的方式可能难度会比较大,所以使用 selenium 模拟浏览器操作这种方式比较完美。 设计方案 技术方向有了,再简单整理一下思路: 根据http://q.10jqka.com.cn/gn/,获取板块网页的源码HTML,用Jsoup解析HTML获取每个概念的url信息放到List中 遍历List,根据概念的url获取概念网页源码HTML,解析股票信息 再递归点击执行“下一页”操作,获取每一页的股票数据,直至尾页

How can I find a HTML tag with the pseudoElement ::before in jsoup

守給你的承諾、 提交于 2020-04-07 08:25:54
问题 I will read the img links from a website with jsoup. When I search the HTML code I find the links in a ::before (https://developer.mozilla.org/en-US/docs/Web/CSS/::before) element like ::before <span> <img src="https://link.png" alt=""> </span> My Java Code: import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; public class JavaApplication6 { public static void main(String[] args) throws IOException { String link = "https://www

Crawler 不需要写代码的爬虫 不需要写正则的爬虫

青春壹個敷衍的年華 提交于 2020-04-06 21:46:59
Crawler V1.0.0 代码还没有优化 框架结构很简单 部分功能需要你们给我需求,我后期添加测试 操作指南 命令:java -jar Crawler.jar -[option] -v 爬虫的版本信息 -h 爬虫的帮助文档 -ct [url] 爬虫爬取一个网站测试 URL:测试的URL地址 -cw [url] [k,v] 测试信息抽取 | URL:测试的URL | [k,v] title,div[class=title] 如果有多个参数,使用#隔开 -ci [urllist] [k,v] <InputResult> 把抽取的信息规则保存xml中,可以使用SQL工具的导入向导导入到数据库或者转成其他格式| <InputResult> 保存结 果目录 -cl [url] [k,v] <InputUrllist> 把某URL的列表URL保存到文件中,可以用ci进行深入爬取 E.g 例子 1、-ci URL文件 爬虫规则 输出路径 2、执行java -jar crawler.jar -ci url.txt title,h1[id=artibodyTitle]#date,span[id=pub_date]#nodes,div[id=artibody] data.xml 然后我们可以使用SQL导入向导,用xml导入的方式,然后又可以转换为XML、TXT、EXCEL、WORD等多种格式

Jsoup: sort Elements

为君一笑 提交于 2020-03-22 08:09:08
问题 I need to sort a Jsoup Elements container by its ownText(). What is a recommended way to accomplish that? Does convertinng it to an ArrayList first for use with a custom comparator make sense? BTW, I tried sorting it directly, as in Collections.sort(anElementsList) but the compiler complains: Bound mismatch: The generic method sort(List<T>) of type Collections is not applicable for the arguments (Elements). The inferred type Element is not a valid substitute for the bounded parameter <T

Java-通过POST方法轻松发送HTTP参数

半世苍凉 提交于 2020-03-21 19:48:12
3 月,跳不动了?>>> 我已成功使用此代码通过 GET 方法发送带有某些参数的 HTTP 请求 void sendRequest(String request) { // i.e.: request = "http://example.com/index.php?param1=a&param2=b&param3=c"; URL url = new URL(request); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setInstanceFollowRedirects(false); connection.setRequestMethod("GET"); connection.setRequestProperty("Content-Type", "text/plain"); connection.setRequestProperty("charset", "utf-8"); connection.connect(); } 现在,我可能需要通过 POST 方法发送参数(即param1,param2,param3),因为它们很长。 我在想为该方法添加一个额外的参数(即String httpMethod

Android JSOUP ExceptionInInitializerError

核能气质少年 提交于 2020-03-17 11:09:07
问题 I updated my dex classes with amigo library (it's changing one apk for another apk with the same key and signature, all is working except JSOUP) Error: FATAL EXCEPTION: Thread-1567 Process: com.smedic.tubtub, PID: 26102 java.lang.ExceptionInInitializerError at org.jsoup.nodes.Document$OutputSettings.(Document.java:372) at org.jsoup.nodes.Document.(Document.java:19) at org.jsoup.parser.TreeBuilder.initialiseParse(TreeBuilder.java:32) at org.jsoup.parser.TreeBuilder.parse(TreeBuilder.java:42)

课堂练习-数据爬取

纵然是瞬间 提交于 2020-03-14 15:28:01
一丶要求 1. 编程爬取每日最新的疫情数据统计 2. 并将爬取结果导入到数据库中‘ 3. 将可视化结果与统计数据结合,实时显示当前最新数据 二, 学习及实现过程的psp 表 日期 开始时间 结束时间 中断时间 净时间 活动 备注 2020-3-10 15:40 17:20 10分钟 1小时30分钟 学习jsoup 的使用 使用jsoup 抓取页面 并了解里面的主要方法的使用 3-11 9:50 11:50 2小时 实践jsoup 根据视频案例来抓取某个网页当中的图片并下载到本机当中 3-11 15:00 17:00 2小时 jsoup编写代码实现抓取 遇到困难,网页当中js动态生成的网页无法抓取,上网搜索解决办法 寻找到 phantomjs 插件 了解并尝试使用 3-11 20:30 21:30 1小时 使用 phantomjs 抓取动态界面 弄了半天没有成功,决定学习python 爬取数据 3-12 12:50 16:50 30分钟 3小时30分 学习Python数据专区 看视频学习使用python抓取数据,并将给出的示例进行改编 ,实现练习目的: 实现数据存入数据库,并用Echarts 可视化显示出来 来源: https://www.cnblogs.com/cxy0210/p/12487985.html

Python2/3 解决访问Https时不受信任SSL证书问题

耗尽温柔 提交于 2020-03-12 11:31:42
问题: 在浏览器中访问该网站时会弹出证书不受信任,但是忽略仍可继续访问 但当使用Python登录时就会抛出_ssl.c:645错误,不能读取页面。 之前在做Android开发用Jsoup访问该站时也会有问题,当时的解决办法是写一个方法直接信任所有Https的安全证书,就在想python是不是也是可以这样做。 1、修改_create_default_https_context变量 import ssl ssl._create_default_https_context = ssl._create_unverified_context 这样就可以解决了! 2、 使用requests库发送请求的时候直接设置verify=False取消验证即可,会有下面问题 问题到此为止还没结束,取消SSL验证又带来一个新问题。出现了警告信息,这个锅是urllib3的。 InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. 虽然不是错误,但是在捕捉异常时,默认会出问题,为了不影响原有流程,应该去掉这些警告信息。 或者直接取消所有urllib3的警告 requests.packages.urllib3.disable