[背景] 在上一篇博文java爬取网页内容 简单例子(1)——使用正则表达式 里面,介绍了如何使用正则表达式去解析网页的内容,虽然该正则表达式比较通用,但繁琐,代码量多,现实中想要想出一条简单的正则表达式 对于没有很好正则表达式基础的人——比如说我T_T——是一件蛮困难的事.这一篇,我们改用jsoup,一个强大的解析html工具,去解析html,你会发现,一切都变得很容易. [准备工作] 下载:jsoup-1.6.1.jar [先看效果] 目标网站:中国天气 目的:获取今天的天气 目标HTML代…
[本文介绍] 爬取别人网页上的内容,听上似乎很有趣的样子,只要几步,就可以获取到力所不能及的东西,例如呢?例如天气预报,总不能自己拿着仪器去测吧!当然,要获取天气预报还是用webService好.这里只是举个例子.话不多说了,上看看效果吧. [效果] 我们随便找个天气预报的网站来试试:http://www.weather.com.cn/html/weather/101280101.shtml 从图中可用看出,今天(6日)的天气.我们就以这个为例,获取今天的天气吧! 最终后台打印出: 今天:6日…
近日在做爬虫功能,爬取网页内容,然后对内容进行语义分析,最后对网页打标签,从而判断访问该网页的用户的属性. 在爬取内容时,遇到乱码问题.故需对网页内容编码格式做判断,方式大体分为三种:一.从header标签中获取Content-Type=#Charset:二.从meta标签中获取Content-Type=#Charset:三.根据页面内容分析编码格式. 其中一/二方式并不能准确指示该页面的具体编码方式,周全考虑,加入第三种方式. 第三种方式引入开源jar包info.monitorenter.cp…
Java爬取先知论坛文章 0x00 前言 上篇文章写了部分爬虫代码,这里给出一个完整的爬取先知论坛文章代码. 0x01 代码实现 pom.xml加入依赖: <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <dependency> <groupId>org.apache.httpcomponents</group…
最近有小伙伴问我能不能抓取同花顺的数据,最近股票行情还不错,想把数据抓下来自己分析分析.我大A股,大家都知道的,一个概念火了,相应的股票就都大涨. 如果能及时获取股票涨跌信息,那就能在刚开始火起来的时候杀进去,小赚一笔.但是股票那么多,小伙伴也盯不过来,于是就微信问我,能不能抓取同花顺的板块下的股票信息存到数据库里?他就能根据数据库里的数据,制定一些策略. 俗话说:哪里有痛点,哪里就有编程!不就是个同花顺嘛,办他! 调研背景 于是我点开了同花顺的板块页面:http://q.10jqka.com.…
MinerHtmlThread.java 爬取页面线程 package com.iteye.injavawetrust.miner; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; /** * 爬取页面线程…
MinerConfig.java 爬取配置类 package com.iteye.injavawetrust.miner; import java.util.List; /** * 爬取配置类 * @author InJavaWeTrust * */ public class MinerConfig { /** * URL包含关键字 */ public List<String> keys; /** * 存储方式 */ public StoreType storeType; /** * 爬取页面…
前言 近期本人在某云上购买了个人域名,本想着以后购买与服务器搭建自己的个人网站,由于需要筹备的太多,暂时先搁置了,想着先借用GitHub Pages搭建一个静态的站,搭建的过程其实也曲折,主要是域名地址配置把人搞废了,不过总的来说还算顺利,网站地址  https://chenchangyuan.cn(空博客,样式还挺漂亮的,后期会添砖加瓦) 利用git+npm+hexo,再在github中进行相应配置,网上教程很多,如果有疑问欢迎评论告知. 本人以前也是搞过几年java,由于公司的岗位职责,后面…
Java爬取校内论坛新帖 为了保持消息灵通,博主没事会上上校内论坛看看新帖,作为爬虫爱好者,博主萌生了写个爬虫自动下载的想法. 嗯,这次就选Java. 第三方库准备 Jsoup Jsoup是一款比较好的Java版HTML解析器.可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据. mysql-connector-java mysql-connector-java是java JDBC的MySQL驱动,可以提…
一 . Java爬取B站弹幕 弹幕的存储位置 如何通过B站视频AV号找到弹幕对应的xml文件号 首先爬取视频网页,将对应视频网页源码获得 就可以找到该视频的av号aid=8678034 还有弹幕序号,cid=14295428 弹幕存放位置为  http://comment.bilibili.com/14295428.xml import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpR…
是这样的,之前买车送的垃圾记录仪不能用了,这两天狠心买了好点的记录仪,带导航.音乐.蓝牙.4G等功能,寻思,既然有这些功能就利用起来,用4G听歌有点奢侈,就准备去酷狗下点歌听,居然都是需要办会员才能下载,而且vip一月只能下载300首,我这么穷又这么抠怎么可能冲会员,于是百度搜了下怎么免费下载,都是python爬取,虽然也会一点,但是电脑上没安装python,再安装再研究感觉有点费劲,于是就花了半小时做了这个爬虫,技术一般,只记录分析实现过程,大牛请绕行.其中用到了一些库,包括:jsoup.Ht…
Scrapy爬取小说简单逻辑 一 准备工作 1)安装Python 2)安装PIP 3)安装scrapy 4)安装pywin32 5)安装VCForPython27.exe ........... 具体安装步骤,可参考http://www.cnblogs.com/zyj-python/p/7392476.html 二 爬虫逻辑 1.CMD终端创建爬虫项目 cd Desktop(返回桌面目录) #选择文件保存位置,我放在了桌面 Scrapy startProject BooksSpider #Boo…
本文方法及代码仅供学习,仅供学习. 案例: 下载酷狗TOP500歌曲,代码用到的代码库包含:Jsoup.HttpClient.fastJson等. 正文: 1.分析是否可以获取到TOP500歌单 打开酷狗首页,查看TOP500,发现存在分页,每页显示22条歌曲, 发现酷狗的链接如下: https://www.kugou.com/yy/rank/home/1-8888.html?from=homepage 通过更改链接中的1可以进行分页,所以我们可以通过更改链接地址获取其余的歌曲. 2.分析找到正…
Java 爬取 51job 数据 一.项目Maven环境配置 相关依赖 jar 包配置 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> </parent> <properties&…
前言 考虑到这里有很多人没有接触过Java网络爬虫,所以我会从很基础的Jsoup分析HttpClient获取的网页讲起.了解这些东西可以直接看后面的"正式进入案例",跳过前面这些基础.我导入的是"Excel转换工具XXL-EXCEL"这个开源项目然后在这个基础上写的这个Demo(下面会详细分析).看了这篇文章还有问题,记得给我留言我会尽力帮你解决.如果文章哪里有问题或者需要改进,也请留言告诉我,共同进步. 项目分析 几天前用HttpClien+Jsoup把网易云音乐…
大二下实训课结业作业,想着就爬个工作信息,原本是要用python的,后面想想就用java试试看, java就自学了一个月左右,想要锻炼一下自己面向对象的思想等等的, 然后网上转了一圈,拉钩什么的是动态生成的网页,51job是静态网页,比较方便,就决定爬51job了. 前提: 创建Maven Project方便包管理 使用httpclient 3.1以及jsoup1.8.3作为爬取网页和筛选信息的包,这两个版本用的人多. mysql-connect-java 8.0.13用来将数据导入数据库,支持…
利用Selenium和PhantomJs 可以模拟用户操作,爬取大多数的网站.下面以新浪财经为例,我们抓取新浪财经的新闻版块内容. 1.依赖的jar包.我的项目是普通的SSM单间的WEB工程.最后一个jar包是用来在抓取到网页dom后做网页内容解析的. <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --> <dependency> <groupId>org.se…
注意:处理需要用户名密码认证的网站,需要auth字段. # -*- coding:utf-8 -*- import requests headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", } newUrl ="https://www.…
在程序里面输入你想爬取的商品名字,就可以返回这件商品在亚马逊搜索中都所有相关商品的信息,包括名字和价格. 解决了在爬取亚马逊时候,亚马逊可以识别出你的爬虫,并返回503,造成只能爬取几个页面的问题. 除此之外亚马逊网页代码写得非常的乱啊(可能是我个人问题?),要想提取里面的信息非常麻烦. 纯JAVA编写,用的都是java自带的库. 先展示一下效果图: 商品页面: 爬取的信息页面(消除重复了): 名字和价格是绝对正确的,例如上图31行的商品: 主要思路是这样的: 1.打开搜索的列表页,然后抽取所有…
java爬虫入门实战练习 此代码仅用于学习研究 此次练习选择了读者文摘杂志网站进行文章爬取 练习中用到的都只是一些简单的方法,不过过程中复习了输入流输出流的使用以及文件的创建写入等知识,对自己还是有所帮助的 经小伙伴提醒,部分文章存在乱码,我们将这两个地方修改一下就可以了 代码可以直接运行(需要Jsoup包),唯一需要在E盘下创建一个名为FileTest的文件夹存储下载的文件或者修改一下代码中的存储路径 第一处(第52行)修改为: OutputStreamWriter fileOutputStr…
基本socket编程 1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特性,如果要测试以下代码,java版本不能低于1.8 3.如果发送的信息需要安全保护,也可以使用安全套接字,SSLSocket例子 使用socket编程需要注意的两个方法,sendUrgentData 与 setOOBInline:sendUrgentData是发送紧急数据用,只可以发送ASCII码,…
这是之前做的一个小项目.这几天刚好整理了一些相关资料,顺便就在这里做一个梳理啦~ 简单来说这个项目实现了,登录人人网并爬取用户数据.并对用户数据进行分析挖掘,终于效果例如以下:1.存储人人网用户数据(户主的全部好友.户主好友的全部好友.户主及好友关注的公共主页).2.信息可视化,绘制户主好友间的关系网络图:3.数据挖掘,通过分析户主好友关注的公共主页,向户主推荐公共主页. 项目分为三个部分,各自是人人网登录及用户数据爬取与存储.用户关系可视化.公共主页推荐.以下分别介绍这三个部分. 第一部分实现…
死锁:当一个线程永远地持有一个锁,并且其他线程都尝试获得这个锁时,那么它们将永远被阻塞.比如,线程1已经持有了A锁并想要获得B锁的同时,线程2持有B锁并尝试获取A锁,那么这两个线程将永远地等待下去. 我们来看一个死锁的简单例子: public class DeadLockTest { private static Object A = new Object(), B = new Object(); public static void main(String[] args) { new Thre…
先看看抓取的结果. 8个Java类: Startup.java - main函数 ImageCrawler.java - Crawler基类 BaiduImageCrawler.java - 百度图片的具体爬取实现 GoogleImageCrawler.java - Google图片的具体爬取实现 BingImageCrawler.java - Bing图片的具体爬取实现 ImageWorker.java - 定时从Queue中取图片URL下载(默认开启100个) ImageDownloader…
偶然看到一个提供免费HTTP 代理IP的网站,该网站一两个小时就会更新一次,很有用.之后自己就用Java写了一个爬虫,爬取网站上的代理IP,以备后用. 网站源码: <!DOCTYPE html> <!-- saved from url=(0035)http://www.swei360.com/free/?page=2 --> <html><head><meta http-equiv="Content-Type" content=&q…
爬取网址 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2018/index.html 因为数据比较大,存储为一个json,会内存溢出. 所以按照每个省市进行存储. 同时因为远程访问链接拿取数据,所以会将已经拿到网页进行缓存,以便下次使用. package com.witwicky.jsoup; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com…
https://blog.csdn.net/weixin_38409425/article/details/78616688(出自此為博主) 具體代碼如下: import java.io.BufferedReader;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import j…
package com.wang.xiaowei.utils; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; import org.apache.http.HttpEntity; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.…
前言: 本文基于j2ee的原始url进行都写,解析指定内容时也是使用很傻的形式去查找指定格式的字符串来实现的. 更优雅的方式是可以使用apache的HttpClient和某些文档模型将HTML字符串构建成doc来进行解析. 目前已经修改代码适配最新的2015年的抓取. 爬取的原因:统计局网站提供的页面并按照:省-市-县-镇-村   这样的层次关系来组织页面,人工去获取所有的代码工作量大而繁琐,遂有了下面很粗糙的代码 代码如下: import java.io.BufferedReader; imp…
昨天帮一个商科同学爬取去哪儿网站的所有广州如家快捷酒店的所有入住信息. 就是上面的商务出行 xxx年入住这些东西 然而去哪儿的前端很强,在获取所有如家快捷酒店的时候就遇到了问题. 他显示的酒店列表是js动态加载的,按了下一页之后,网站本来的url不变的.所以更新了的那部分内容获取不到. 抓包看了一下,返回的酒店信息竟然都是加密的. Selenium试了也不行. 所以通过爬取获取所有酒店网页的url是不行咯. 只能通过手动打开酒店的url ,在获取下面的评论信息.第一页的酒店URL可以直接获得的,…