语言 - > JAVA
使用的图书馆 - > Jsoup图书馆
我正在使用Web Crawler。我成功地能够抓取大部分所需的网站,但由于cookie,我无法获取所需数据的网站很少。该网站发送了一些保存在浏览器中的cookie。但是我无法找出这些cookie是如何创建的。基本上我想知道哪个文件(很可能是一些javascript文件)正在创建这些cookie以及如何创建这些cookie。
是否有任何可用的工具/软件。现在我正在使用chrome开发环境。(Chrome-> Right Click-> Inspect Element)。
答案 0 :(得分:-1)
在使用JSoup处理网站时遇到了这个问题。最好的办法是在第一次连接时从网站上检索cookie。在JSoup中,这是通过使用Jsoup.connect(url)方法并返回Connection.Response对象来完成的。 Response对象将允许您通过response.cookies获取服务器传递的cookie。这经常被忽略,因为大多数示例都使用JSoup的便捷方法,它只返回Document元素......
然后,您可以通过在新连接对象上设置cookie,将cookie传递回每个新请求的服务器。
以下是一个例子:
Connection connection = JSoup.connect("www.google.com")
connection.method(Connection.Method.GET);
Response response = connection.execute();
Map<String, String> cookies = response.cookies();
Document doc = response.parse(); // shown here only to show how to the get Document element.
现在将这些传回服务器:
Connection connection = Jsoup.connect("www.google.com");
connection = connection.cookies(cookies);
connection.method(Connection.Method.GET);
Response response = connection.execute();
希望这会有所帮助。