
基于java网络爬虫
HFUT_qianyang
刘老师指示:学如逆水行舟,不进则退;心似平原跑马,易放难收。不能放松,继续!
展开
-
网络爬虫中X-CSRF-Token和Status 403问题解决方案(Java或Python)
本文作者:合肥工业大学 电子商务研究所 钱洋 email:1563178220@qq.com 。内容可能有不到之处,欢迎交流。未经本人允许禁止转载。文章目录问题情景1和解决方案问题情景2和解决方案问题情景1和解决方案**在很多POST请求中,经常会加入一些字段来控制会话或者数据的表单提交。**例如,在京东的模拟登陆中,并不是你在Java或者python程序中,直接输入用户名密码就能登陆成...原创 2019-08-03 11:34:43 · 7153 阅读 · 1 评论 -
网络爬虫生成代理ip
代理写网络爬虫时,经常会遇到ip频繁访问被封的问题,经常使用的解决办法就是代理ip。为此,我写了一个随机生成一个可用代理ip的样例程序。程序package proxy;import java.io.IOException;import java.net.URISyntaxException;import java.util.ArrayList;import java....原创 2018-05-11 19:37:59 · 2240 阅读 · 3 评论 -
批量从网上下载图片、zip等文件到本地[java爬虫]
程序public static void downloadBill(HFUTRequest httprequest,String url,String id) throws IOException{ File fileDir=new File("E:\\zipFile"); if(!fileDir.exists()){ fileDir.mkdi原创 2018-03-29 21:20:48 · 3746 阅读 · 1 评论 -
汽车之家网络爬虫
爬虫框架需要爬取的信息帖子,评论,口碑,车型信息等程序口碑程序样例片段://解析所获得的html文件 2018-03-04 Document document=Jsoup.parse(html); org.jsoup.select.Elements elements=document.select("div[class=text-con]") ; for原创 2018-01-22 21:10:56 · 3176 阅读 · 2 评论 -
豆瓣网络爬虫-java网络爬虫[验证码模拟登陆]详细介绍
目录抓包介绍解决验证码的思路验证码地址拼接爬虫实战爬虫架构modelmain解析htmlparse数据库操作程序db近期,有人将本人博客,复制下来,直接上传到百度文库等平台。 本文为原创博客,仅供技术学习使用。未经允许,禁止将其复制下来上传到百度文库等平台。如有转载请注明本文博客的地址(链接) 源码请联系邮箱:1563178220@qq.com抓包介绍本人已经写了几篇模拟登陆的程原创 2016-11-24 21:53:54 · 17418 阅读 · 20 评论 -
网络爬虫中解析json时遇到字符中包含双引号等字符
在使用fastjson解析json时,有时会遇到json串中包含英文中的双引号,比如在评论中包含双引号的评论。如下所示json串:{"returncode":0,"message":"","result":{"pageindex":1,"pagecount":1,"rowcount":15,"list":[{"topicid":21376821,"topictype":"","title":"A4油原创 2018-01-15 21:15:58 · 4737 阅读 · 0 评论 -
东方财富网股票数据爬虫
所要爬的数据描述如下图所示,所要爬的第一个数据是每个股票每日均线对应的MA5,MA10,M20,M30的数据。 其次,需要爬取股票每日的BOLL的数据,包括BOLLUP,BOLLMB,BOLLDN 再者,爬取的数据有每个股票对应的开盘,最高,最低,收盘等数据。 main程序package navi.main;/** * @author:合肥工业大学 管理学院 钱洋 * @email:15原创 2017-12-23 16:17:08 · 16074 阅读 · 2 评论 -
多线程新浪新闻搜索网络爬虫-基于关键字
本文为原创博客,仅供技术学习使用。未经允许,禁止将其复制下来上传到百度文库等平台。如有转载请注明本文博客的地址(链接) 源码获取请联系:1563178220@qq.com简介互联网有海量的新闻,如何基于关键字检索相关新闻,并将新闻内容存储到数据库呢,以新浪新闻为例,如下图所示,输入关键字爬取历史新闻,可以看到历史新闻的数量有很多,因此采用单线程的方式,无法满足需求,可采用多线程的方式采集数据。程序原创 2017-11-20 22:06:13 · 6457 阅读 · 0 评论 -
淘宝网或阿里巴巴模拟登陆获取数据
近期,有人将本人博客,复制下来,直接上传到百度文库等平台。 本文为原创博客,仅供技术学习使用。未经允许,禁止将其复制下来上传到百度文库等平台。如有转载请注明本文博客的地址(链接)源码如有需要请联系:1563178220@qq.com所获得的数据如下图所示,为所要爬取的阿里巴巴供应商数据。在爬取之前必须模拟登陆阿里巴巴网站。 工程目录结构模拟登陆程序如下程序,主要采用selenium工具进行模拟原创 2017-08-30 09:09:39 · 12726 阅读 · 7 评论 -
网络爬虫中的验证码识别
网络爬虫遇到的验证码在写网络,爬虫时,遇到很多网站存在验证码的情形,有其是比较烦的是,爬取数据的每一页都有验证码,如果只有登陆时,存在验证码,这个很好解决,只需将验证码获取后手动输入就行。 但对于每页都有的,这种方式就不能够解决了,最简单的方式,是自动识别验证码,如果验证码识别成功,能过获得数据,则进行解析,如果验证码没办法识别,则刷新一次验证码,继续识别,直到识别验证码成功,并获得数据。 类似原创 2017-09-26 20:35:54 · 5518 阅读 · 0 评论 -
java网络爬虫模拟登录案例教学2
模拟登录的网站我们需要登录的网站为:autonews,模拟登陆的地址为: https://home.autonews.com/clickshare/cspLogin.do 网络抓包分析在请求表单中,输入用户名及密码。 可以看到,我们要向后台提交的数据有哪些。 CSParamsToPassNames:CSParamsToPassNames user...原创 2018-05-16 11:34:06 · 1328 阅读 · 0 评论 -
Selenium不打开浏览器采爬取数据 Java
SeleniumSelenium工具,是数据采集利器,尤其是对js的操作。相对于jsoup、httpclient工具,其最大的不同就是通过操作浏览器的方式获取数据,类似于用户点击,移动鼠标等。比如,说最近想开发采集Quora(https://www.quora.com/)的小软件,发现这个网页都是js操作,数据查看,使用的鼠标滚动的方式,类似的网站还有国内的网易新闻等(http://news....原创 2018-06-26 19:21:42 · 9149 阅读 · 1 评论 -
POST提交JSON字符串实战项目(JAVA网络网络爬虫)
本文作者:合肥工业大学 电子商务研究所 钱洋 email:1563178220@qq.com 。内容可能有不到之处,欢迎交流。未经本人允许禁止转载。文章目录项目简介(Introduction)项目特点POST提交JSON数据x-csrf-token解决随机切换User Agent简单的数据库操作项目简介(Introduction)完整项目对应的github链接为:https://gith...原创 2019-08-04 08:14:54 · 3712 阅读 · 0 评论 -
fastjson解析JSON数据乱序导致的问题
本文作者:合肥工业大学 电子商务研究所 钱洋 email:1563178220@qq.com 。内容可能有不到之处,欢迎交流。未经本人允许禁止转载。文章目录问题背景问题背景在编写网络爬虫时,经常要处理JSON数据。其中,针对JSON字符串,可利用fastjson将其转化成JSON对象,例如:JSONObject jsonfile = JSONObject.parseObject(sta...原创 2019-07-11 07:35:20 · 3916 阅读 · 0 评论 -
网络数据采集技术—Java网络爬虫入门与实战 书稿纠错
更在内容有:原创 2019-05-23 16:35:17 · 1882 阅读 · 1 评论 -
HttpRequestUtil用于URL请求(网络爬虫)
此工具用于网络爬虫中的URL请求,来自于本人写的书《网络数据采集技术–Java网络爬虫入门与实战》。package com.util;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.http.Header;import org.apache.htt...原创 2019-04-29 20:48:01 · 1606 阅读 · 0 评论 -
Windows下Squid 3.5安装及配置代理服务器
安装软件下载地址为http://squid.diladele.com/。点击下图的下载按钮进行下载。双击,下载文件,点击Next。接收协议,点击Next。选择软件安装目录,如我的是G:\software\Squid点击Install,安装。安装完成后,点击Finish。下载完成之后,桌面会出现,以下两个图标(快捷键):其中,squid的文件目录如下:其中最核心的配置文...原创 2018-10-25 11:16:54 · 24717 阅读 · 1 评论 -
HttpClient4.5使用RequestConfig配置连接信息
RequestConfig类在构建网络爬虫时,经常需要配置很多信息,例如RequestTimeout(连接池获取到连接的超时时间)、ConnectTimeout(建立连接的超时)、SocketTimeout(获取数据的超时时间)、代理、是否允许重定向等信息。在HttpClient,实现这些配置需要使用到RequestConfig类的一个内部类Builder。如下为Builder的源码: ...原创 2018-10-25 08:37:42 · 28641 阅读 · 5 评论 -
代理IP网站总结
全网代理IP66免费代理网DATA5U快代理原创 2018-10-19 08:51:32 · 858 阅读 · 0 评论 -
Java网络爬虫该如何学习
引言互联网以及移动技术的飞速发展,使得全球数据量呈现前所未有的爆炸式增长态势。例如,用户在互联网上的搜索数据、交易数据、评论数据、社交数据等。这些网络大数据蕴含着丰富的可挖掘知识,是一种极具竞争力的人造资源。在此背景下,如何快速有效地提取并利用这些信息成为一个巨大的挑战。 搜索引擎(如Google、百度等)的出现,使得人们能够很快的检索自己想要的信息,基本的搜索引擎包括采集数据的...原创 2018-07-22 19:09:45 · 7236 阅读 · 1 评论 -
国外问答网站Quora数据的爬虫 Java
本文为原创博客,仅供技术学习使用。未经允许,禁止将其复制下来上传到百度文库等平台。如有转载请注明本文博客的地址(链接)。QuoraQuora是一个在线知识市场,Quora集合许多问题和答案,也容许用户协同编辑问题和答案。问题及回答的质量较高,对于科研朋友是一个很好的数据集。这篇博客主要介绍Quora数据采集的思路。其目标是给定搜索的关键词,获取关键词对应的问题id,标题,url,回复数以及...原创 2018-06-27 11:07:00 · 4358 阅读 · 5 评论 -
selenium模拟登陆时截取验证码
模拟登陆时,经常会遇到有验证码的问题,那么就需要把验证码给截取下来。如下为截取验证码程序,该程序的原始地址为:http://www.cnblogs.com/donaldlee2008/p/5304504.html有需要配置运行程序的请联系我:1563178220@qq.compackage login;import java.awt.image.BufferedImage;import java.原创 2017-09-09 14:17:42 · 5055 阅读 · 4 评论 -
网络爬虫相关程序学习(包含jar包等)---各大网站网络爬虫
以下内容,都是本人近一年写过的东西,也算花了不少时间。所以,源码并不是免费的,但很便宜。有需要的请邮箱联系:1563178220@qq.com。另外,可以辅助编写其他网络爬虫工程。网络爬虫基础学习包含:(1)java基础方面: java集合的操作;文本数据的读与写;日志的使用;(2)java操作mysql数据库方面:基本写法;快速操作写法(QueryRunner);(3)java网络爬虫方面:Ht原创 2017-07-11 19:44:55 · 6966 阅读 · 4 评论 -
网络爬虫之httpclient的使用
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 如下面程序,为我写的一个简单的httpclient的测试程序:package crawlerTest;import java.io.IOException;import org.apache.原创 2016-08-13 21:41:12 · 8625 阅读 · 11 评论 -
网络爬虫之java基础篇QueryRunner(Ⅲ)
目录1Java操作数据库java操作数据库第一种方法java操作数据库的QueryRunner方法1、Java操作数据库如何将爬虫爬取的数据存储下来也是我们关注的问题之前,常用的存储方式有.txt,mysql,hbase等。前面已经介绍了Java输入流输出流操作文本的方式,现在主要介绍几种Java操作mysql的方式。java操作数据库第一种方法这种方法,是操作数据库的最简单,也是最原始的方法。原创 2016-08-13 21:29:06 · 7241 阅读 · 1 评论 -
网络爬虫之Java基础篇(Ⅱ)
目录1集合操作集合创建集合数据的添加集合的遍历1、集合操作集合创建Set集合不可以放重复数据,List可以,Map主要存放的是键值对,其中key(主键)不可以重复。 List<T> list = new ArrayList<T>(); Set<T> set = new HashSet<T>(); Map<S,T> map = new HashMap<S,T原创 2016-08-13 20:44:41 · 5028 阅读 · 2 评论 -
网络爬虫之java基础(Ⅰ)
目录1Java中maven的使用 2log4jlog4j的介绍log4j提供的几种方法使用步骤 3输入流与输出流数据的读写程序以及map的使用 这张图为我给自己研究所人讲网络爬虫的一个流程,本人也将按照这个流程来讲网络爬虫,如果你的基础较好,可以直接跳过相关流程。1、Java中maven的使用使用maven能很轻松的从网络中下载所需的插件 及依赖(下载程序所依赖的JAR包),存储原创 2016-08-13 20:22:51 · 8255 阅读 · 3 评论 -
网络爬虫原理
目录1网络爬虫原理2写网络爬虫的原因3网络爬虫的流程 4网络抓包 5HTTP状态码说明6Java网络爬虫需要的基础知识1、网络爬虫原理网络爬虫指按照一定的规则(模拟人工登录网页的方式),自动抓取网络上的程序。简单的说,就是讲你上网所看到页面上的内容获取下来,并进行存储。网络爬虫的爬行策略分为深度优先和广度优先。如下图是深度优先的一种遍历方式是A到B到D 到E 到C原创 2016-08-13 19:20:18 · 31922 阅读 · 15 评论 -
Quartz实线定期运行程序(Java)
Quartz是一个大名鼎鼎的Java版开源定时调度器,功能强悍,使用方便。如下是写的一个样例程序,定时输出 hello world:package timeutil;import java.text.SimpleDateFormat; import java.util.Date; import org.quartz.Job; import org.quartz.JobExecutionCon原创 2016-10-02 15:26:44 · 2840 阅读 · 0 评论 -
基于java的网络爬虫框架(实现京东数据的爬取,并将插入数据库)
目录网络爬虫框架网络爬虫的逻辑顺序网络爬虫实例教学modelmainutilparsedb再看main方法爬虫效果展示网络爬虫框架写网络爬虫,一个要有一个逻辑顺序。本文主要讲解我自己经常使用的一个顺序,并且本人经常使用这个框架来写一些简单的爬虫,复杂的爬虫,也是在这个基础上添加其他程序。 首先,我的工程都是使用maven建的,不会使用maven的,请看之前写的网络爬虫基础。使用S原创 2016-08-14 11:40:08 · 77655 阅读 · 84 评论 -
Java多线程网络爬虫(时光网为例)
目录多线程简介多线程网络爬虫分析要爬的数据网络抓包爬虫框架modelMtimeThread主方法MtimeParse解析数据数据库操作多线程简介Java多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。 本原创 2016-09-24 10:22:46 · 16020 阅读 · 14 评论 -
网络爬虫中的Unicode码解决[实例]
unicode码爬虫中的Unicode转中文输出结果unicode码在我写爬虫的过程中,经常遇到一些网站的中文是经过Unicode转码的。在对网页进行解析时,需要将其进行转码,转为中文字符。例如,\u5317\u4eac\u767e\u5ea6\u7f51\u8baf\u79d1\u6280\u6709\u9650\u516c\u53f8对应的中文是北京百度网讯科技有限公司爬虫中的Unicode原创 2016-12-09 21:43:50 · 3818 阅读 · 0 评论 -
Jsoup解析html某片段的问题
案例问题分析解决办法案例在使用jsoup解析html中的某部分片段时,有时候会遇到解析不出字段。下面以案例进行讲解。<tr> <td class='center'> <font class='blue'> 北京 </font> </td> <td> 36175 </td> <td>原创 2016-12-10 10:38:32 · 4438 阅读 · 4 评论 -
selenium的安装
安装火狐首先,selenium要求火狐的版本不能太高,如果火狐的版本过高,就会出现以下问题:selenium版本与对应firefox版本匹配的记录。各个版本的火狐下载地址为:http://ftp.mozilla.org/pub/firefox/releases/可以看到支持的火狐版本。安装selenium首先,打开selenium官网 http://www.seleniumhq.org/downlo原创 2017-08-21 20:12:06 · 1124 阅读 · 0 评论 -
网络爬虫中的模拟登陆获取数据(实例教学1)
目录模拟登陆的原因如何模拟登陆实战demo模拟登陆的原因很多网站,我们是无法直接获得服务器返回的数据,需要输入用户名及密码才能看到数据。如我们登陆人人网时,网站网址http://www.renren.com/。如图所示,看到的是一个登陆的界面,必须输入用户名及密码才能看到返回的数据。 登陆后,看到的数据,便可以通过爬虫将网站的html,或者json数据抓下来,解析。 如何模拟登陆模拟登陆之前原创 2016-08-19 11:33:54 · 34434 阅读 · 44 评论 -
网络爬虫抓包使用及通过表单请求
近期,有人将本人博客,复制下来,直接上传到百度文库等平台。 本文为原创博客,仅供技术学习使用。未经允许,禁止将其复制下来上传到百度文库等平台。如有转载请注明本文博客的地址(链接) 如需源码程序,请联系我。有些网站抓包请求时,发现数据的真实地址,但在使用httpclient请求该真实地址时,却发现数据为空。该怎么办呢?以下以该网站为例进行讲解。网站地址为:https://las.cnas.org原创 2017-08-08 11:37:08 · 5702 阅读 · 0 评论 -
爬虫如何实现每天爬取,定点爬取[以股票数据为例]
分析抓取的数据抓包框架modelmainutilparsedb问题所在解决方法jobjobmain近期,有人将本人博客,复制下来,直接上传到百度文库等平台。 本文为原创博客,仅供技术学习使用。未经允许,禁止将其复制下来上传到百度文库等平台。如有转载请注明本文博客的地址(链接)分析抓取的数据本文是以东方财富网的数据为例,这里只做技术学习使用,请勿滥用。如本文要抓取的数据是东方原创 2017-01-21 16:21:56 · 31134 阅读 · 8 评论 -
网络爬虫中URLConnection的使用[以科学网为例]
目录爬取内容分析URLConnection的使用运行结果展示爬取内容分析本文以科学网为例讲解URLConnection的使用。如下图所示,为我们要爬取的第一个页面。即第一层。 下图为我们要爬取的第二个页面,也是我们真正想要爬取的页面。即用户id及用户名。即第二层。 在爬取第二层的入口地址时,我们发现第一层获取的url中含有中文字符,所以要对其进行转码,获取可供请求的url。 下面提供本人自原创 2017-02-11 10:08:26 · 3704 阅读 · 0 评论 -
网络爬虫中Jsoup请求url
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。下面是我写的一个案例欢迎大家参考:import java.io.IOException;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;impo原创 2017-02-11 09:45:49 · 5822 阅读 · 1 评论 -
网络爬虫之Url含有中文如何转码
在搞爬虫时,有时会遇到url中含有中文字符,请求会出错,那么就需要对含有中文的url进行转码。以下,以科学网为例,如下图所示: 可以看到,url中含有中文,如下写了一个样例程序,将url中对应的中文进行转码,而其他不进行转码。package collectip;import java.io.UnsupportedEncodingException;import java.util.Arra原创 2017-02-10 22:22:43 · 7988 阅读 · 0 评论