java 爬虫身份设定_Java爬虫中HttpClient请求头的设置
在做爬虫的时候发现如果不设置请求头的话,每次httpclient发起的请求都是响应移动端板式的,无法抓取响应的内容,后面查了一下才知道,需要重新设置请求头,让服务端误以为是某个真实浏览器发起的请求:
HttpClient httpClient = new DefaultHttpClient();
//創建一個httpGet方法
HttpGet httpGet = new HttpGet("xxxxx");
//設置httpGet的头部參數信息
httpGet.setHeader("Accept", "Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
httpGet.setHeader("Accept-Charset", "GB2312,utf-8;q=0.7,*;q=0.7");
httpGet.setHeader("Accept-Encoding", "gzip, deflate");
httpGet.setHeader("Accept-Language", "zh-cn,zh;q=0.5");
httpGet.setHeader("Connection", "keep-alive");
httpGet.setHeader("Cookie", "");
httpGet.setHeader("Host", "");
httpGet.setHeader("refer", "");
httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");
最基本的爬虫就用了几句代码就完成了,附上爬虫代码,主要是用到HttpClient、webmagic、jsoup
public class WebMagicService {
public static void main(String[] args) throws Exception{
HttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://bbs.e763.com/");
httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2");
HttpResponse response = httpClient.execute(httpGet);
String contents = EntityUtils.toString(response.getEntity(),"gbk");//utf-8
Document document = Jsoup.parse(contents);
Elements elements = document.select("div#hza11 div.boxtxthot a");
// System.out.println(contents);
for (Element element : elements) {
System.out.println(element.text()+ " : " + element.attr("href"));
}
}
}
爬取内容如下:
三大运营商9月1日起取消漫游费 用户无需申请自动生效 : viewthread.php?tid=907629
2年前月桂湖弃婴案:被蚂蚁咬过的孩子, 精神发育迟滞 : viewthread.php?tid=907607
.....
java 爬虫身份设定_Java爬虫中HttpClient请求头的设置相关推荐
- python request 请求头_python爬虫请求头如何设置?
一.requests设置请求头: import requests url="http://www.targetweb.com" headers={ 'Accept':'text/h ...
- php获取curl头_php中CURL请求头和响应头获取方法
本文主要和大家分享php中CURL请求头和响应头获取方法,希望能帮助到大家. 1.从CURL中获取响应头$oCurl = curl_init(); // 设置请求头, 有时候需要,有时候不用,看请求网 ...
- java爬虫知乎_java爬虫进阶篇(半小时知乎两万推荐问题)
上一篇写了一个简单的新浪新闻爬虫作为上手主要是用jsoup包来对url页面进行抓取到本地,并在本地进行数据的解析提取.这里就不重复叙述jsoup的用法了,百度一下基本一大片.看了网上大神们都有对知乎进 ...
- python爬虫与java爬虫的区别_java爬虫(一)主流爬虫框架的基本介绍
(1).Scrapy: Scrapy,Python开发的一个快速.高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测 ...
- java 爬虫 获取京东_Java爬虫爬取京东
需求分析 首先访问京东,搜索手机,分析页面,我们抓取以下商品数据: 商品图片.价格.标题.商品详情页 SPU和SKU 除了以上四个属性以外,我们发现上图中的苹果手机有四种产品,我们应该每一种都要抓取. ...
- 爬虫中 解决请求头中 encSecKey:6f112 SyntaxError: invalid syntax 问题
最近在学习爬虫中总是遇到下面的问题,后来发现是两条语句之间没有加逗号,直接在网页复制(习惯不好)的问题 问题如下: 解决请求头中 "encSecKey":"6f112a1 ...
- Java私有方法解释_java接口中 定义 private 私有方法
在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...
- java 乱码 号处理器_java处理中日文字符串的乱码问题
--杂言:前段时间在处理音频预览问题,详见关于audiojs的研究.期间,将远端的音频下载并缓存在本地过程中,涉及到java.io.*的几个操作,发生一些乱码问题. 我以前的处理是将本地的编码转换为U ...
- java切面获取reqiest,怎么在webflux切面中获取请求头.
问题描述. 萌新在线踩坑.... 我需要在切面中获取当前用户的请求信息,比如请求头信息. 但是不能像mvc一样通过以下方式实现. @Autowired private HttpServletReque ...
最新文章
- 关于Python异常处理,你需要了解的知识点
- Android ndk使用
- MySQL导入冲突保留两者_面试被问MySQL 主从复制,怎么破?
- 域名自动跳转不搭建服务器,宝塔搭建的服务器WEB系统环境如果做域名301跳转
- java重入锁,再探JAVA重入锁
- 动手学PaddlePaddle(2):房价预测
- java stl分解_[STL训练]寻梦-题解(Java代码)极简思路
- 分布式SOA基础架构崭露头角
- 学习3D图形引擎中使用的基本数学
- pdf转换成ppt转换器免费版
- 前端实现成绩管理系统
- PPT母版和PPT模板
- android神器v2ex,这5个堪称神器的APP,用了让你爱不释手!
- Python调用百度API实现语音识别
- win10开始菜单没有反应
- XCOM 导入条目显示正在使用中解决方案
- guzzle/guzzle 日常使用
- 推荐一些python IDE(python编辑器)
- 京东2019春招编程题
- 教你如何屏蔽网通的域名纠错系统