`
lzj0470
  • 浏览: 1272701 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

抓取数据设置cookie

    博客分类:
  • java
阅读更多

今天,遇到一个问题,顺便把它写下来。今天在抓取一个网站的时候,看起来像一个简单的页面,人工

浏览的话,是完全没问题,一旦有程序开始抓取,问题就来了。老提示我链接错误。一开始,一头冒烟,为啥呢?

细心想了一下,难道是cookie做怪,好,那就找一下我以前用cookie提交访问页面的程序,结果不知道放到哪里去了。

花了差不多两个小时,找到了一份源代码。下面是我修改过的程序

package org.qichao.mode;

import java.io.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class UR {
 

     public static void main(String[] args) {
    	 HttpClient httpClient = new HttpClient();

     httpClient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);

                // 创建GET方法的实例

         GetMethod getMethod = new GetMethod("http://www.51ys.com/See_Url_one.asp?operator=25041782C95478FEE686A09");

      getMethod.setRequestHeader("Host","cards.360114.com");

      getMethod.setRequestHeader("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.2; zh-CN; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20");

      getMethod.setRequestHeader("Accept","text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");

      getMethod.setRequestHeader("Accept-Language","zh-cn,zh;q=0.5");

      getMethod.setRequestHeader("Accept-Encoding","gzip,deflate");

      getMethod.setRequestHeader("Accept-Charset","gb2312,utf-8;q=0.7,*;q=0.7");

      getMethod.setRequestHeader("Keep-Alive","300");

      getMethod.setRequestHeader("Connection","keep-alive");

      getMethod.setRequestHeader("Referer","http://www.360114.com/yellowpage/query.asp?Call=77&h1=GSLANVG&Spara=3&Cpara=&h2=HSIFJTNJHIH&Tpara=&h3=EDJYLUE&h5=@GAXBXFR@R@&scall=");

      getMethod.setRequestHeader("Cookie","__utmz=76121879.1230526182.3.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=%E4%BC%81%E4%B8%9A%E9%BB%84%E9%A1%B5%E5%A4%A7%E5%85%A8; __utma=76121879.2444684742963329000.1230517736.1230526182.1230530122.4; __utmc=76121879; ASPSESSIONIDAAATASRQ=IFDOECBAHDBKJFKKMKDOEFCP");

  getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,

                              new DefaultHttpMethodRetryHandler());

                try {

                       // 执行getMethod

                       int statusCode = httpClient.executeMethod(getMethod);

                       if (statusCode != HttpStatus.SC_OK) {

                              System.err.println("Method failed: "

                                            + getMethod.getStatusLine());

                       }

                       // 读取内容                        

                       byte[] responseBody = getMethod.getResponseBody();                

                          String content = new String(responseBody);

                          

                            // 处理内容

                        System.out.println(new String(responseBody));

                } catch (HttpException e) {

                       // 发生致命的异常,可能是协议不对或者返回的内容有问题

                       System.out.println("Please check your provided http address!");

                       e.printStackTrace();

                } catch (IOException e) {

                       // 发生网络异常

                       e.printStackTrace();

                } finally {

                       // 释放连接

                //     getMethod.releaseConnection();
                }
     }
 }
 
分享到:
评论

相关推荐

    网站抓取(使用cookie)

    网站抓取,也被称为网络爬虫或网页抓取,是一种技术手段,用于自动化地从互联网上获取大量数据。在某些情况下,我们可能需要抓取那些需要验证用户状态的网页,例如登录后才能访问的内容。此时,正确处理Cookie就显得...

    cookie抓取工具.rar

    Cookie是网站在用户浏览器上存储的小型数据文件,通常用于跟踪用户会话、存储用户偏好设置或者验证用户身份。这个工具是由VB.NET编程语言编写的,这意味着它利用了微软的.NET Framework,特别是Visual Basic .NET的...

    java网络爬虫-通过登陆网站携带COOKIE信息爬取网站数据

    在这个特定的场景中,爬虫需要处理登录过程,以便能够携带有效的COOKIE信息来访问受保护的网页,如题库数据。下面,我们将深入探讨如何实现这个功能,以及与MySQL数据库的结合。 首先,登录网站时通常需要发送一个...

    cookie抓取工具

    Cookie抓取工具是一种用于捕获和分析网络浏览器中存储的Cookie数据的小型应用程序。在互联网交互中,Cookie是服务器发送到用户浏览器并存储的一小段文本信息,用于维持会话状态、个性化设置、追踪用户行为等多种目的...

    Java网页抓取数据

    Java网页抓取数据是互联网开发中的一个重要技能,它允许开发者从网页中提取所需的信息,如新闻、产品数据或用户评论,以供进一步分析或利用。本主题主要涵盖以下几个关键知识点: 1. **网络请求库**:在Java中,...

    java抓取网页数据

    在抓取数据的过程中,我们还需要处理可能出现的反爬虫策略,比如验证码、IP限制、User-Agent检测等。有时,我们需要设置合适的User-Agent字符串,或者使用代理IP来绕过这些限制。 此外,为了确保爬虫的可扩展性和...

    Cookies抓取工具

    4. 显示Cookies:成功获取后,工具会显示抓取到的Cookies信息,通常包括Cookie名称、值、过期时间等关键数据。 5. 存储和使用:用户可以选择保存Cookies数据,以便后续在其他应用或测试中使用。 对于软件教程.txt,...

    C# 抓取数据

    在实际应用中,还需要考虑反爬虫策略、错误处理、数据存储等多个方面,才能构建出高效稳定的数据抓取系统。而DnspodApp可能是一个与DNS解析或域名管理相关的应用示例,这需要根据具体代码来进一步分析其功能和实现...

    PHP使用Curl实现模拟登录及抓取数据功能示例

    在PHP开发中,有时我们需要获取一些需要用户登录后才能访问的网页内容,此时可以借助Curl库来模拟登录过程并抓取数据。Curl库是一个强大的URL处理工具,支持多种协议,包括HTTP、HTTPS等,它能让我们在PHP中发送HTTP...

    php通过curl添加cookie伪造登陆抓取数据的方法

    在PHP开发中,有时我们需要从特定的网页抓取数据,尤其是那些需要用户登录后才能访问的页面。这种情况下,可以通过模拟登录,即“伪造登录”来实现数据抓取。本篇将详细介绍如何利用PHP的cURL库添加cookie来实现这个...

    C# 调用 Cefsharp浏览器获取登录后的cookie

    在IT领域,尤其是在Web开发中,获取登录后的cookie对于实现自动化测试、数据抓取或模拟用户行为等功能至关重要。本文将详细讲解如何使用C#编程语言结合CefSharp库来实现这一目标。 首先,C#是一种面向对象的编程...

    httpUtil httpclient 登陆携带cookie访问下一个连接

    总之,`httpclient`库提供了一种高效且灵活的方式来模拟用户登录并携带cookie访问其他网页,这对于自动化测试、数据抓取或需要保持登录状态的Web服务来说是非常有用的。正确地理解和使用这些技术,能够帮助开发者更...

    新浪微博评论抓取

    在IT行业中,网络数据抓取是一项重要的技能,特别是在社交媒体分析和大数据研究中。本文将深入探讨如何使用Python等编程语言进行新浪微博评论的抓取。首先,我们要明确的是,抓取网页数据时需遵循网站的robots.txt...

    java httpclient 抓取 数据 和jar 包

    在本篇文章中,我们将深入探讨如何使用Java HttpClient来抓取网页数据以及如何打包成jar文件。 **一、Java HttpClient简介** Java HttpClient 是 Apache HttpClient 库的一部分,它提供了丰富的功能,包括连接管理...

    httpClient+jsoup 抓取网页数据

    在IT领域,网络数据抓取是一项重要的技能,它允许我们从网页中提取所需的信息,用于数据分析、内容聚合或自动化任务。HttpClient和Jsoup是两个Java库,分别专注于HTTP通信和HTML解析,它们常被组合使用来高效地抓取...

    淘号提取器,淘宝帐号cookie获取工具

    4. 工具将自动抓取登录成功后的Cookie信息。 5. 使用获取到的Cookie进行淘宝API接口的调试工作。 值得注意的是,虽然淘号提取器简化了Cookie获取流程,但仍然需要遵循淘宝的开发者政策和用户协议,确保合法合规地...

    PYTHON网络抓取数据应用

    淘宝网站的动态加载和反爬虫策略增加了挑战性,可能需要掌握如何处理JavaScript渲染、使用Selenium或Scrapy框架、设置User-Agent、处理Cookie等。 压缩包子文件的文件名称列表中: 1. "5120379053_设计文档.docx":...

    java网络爬虫模拟登入抓取数据

    4. **设置Cookie和Header**:根据登录页面的响应,设置Cookie和必要的Header,比如`User-Agent`,以模仿浏览器行为。 5. **发送登录请求**:执行POST请求,模拟用户提交登录表单。 6. **处理登录响应**:接收...

    scrapy中如何设置应用cookies的方法(3种)

    - 当COOKIES_ENABLED设置为True时,Scrapy会禁用默认的cookie策略,并使用用户自定义的cookies设置。 例如,用户可以在settings.py中这样设置: ```python COOKIES_ENABLED = True ``` 然后,在自定义的管道或...

    需要cookie验证的java抓包程序

    这可能包括解析登录后的响应,提取cookie,然后使用这些cookie在后续请求中获取用户数据。 总结,这个Java抓包程序专注于处理需要cookie验证的网页,通过Java的网络编程能力实现HTTP请求的发送,处理cookie,抓取并...

Global site tag (gtag.js) - Google Analytics