抓取 google 搜索结果

直接访问www.google显然是无法访问的,附上两个地址:

http://209.85.225.23/
http://173.194.14.53/

这两个地址搜索的后缀是

newwindow=1&q=

不采用这个格式,使用如下格式:

http://209.85.225.23/search?hl=zh&ie=gb2312&q=

q=后面加上搜索的内容。

这样直接访问会被google拒绝,需要仿冒浏览器去访问。

java中,如下设置参数:

URL url=new URL(path);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("User-Agent", "Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14"); 

注意,user-agent 后面的浏览器参数,不同的浏览器可能会导致收到的编码方式不同,所以编码出错时,替换后面的参数。

附上完整代码:

package com.search.google;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

import com.mysql.jdbc.Field;

public class GetResult
{
	public static void main(String []args) throws Exception
	{
		new GetResult().process();
	}

	public void process() throws Exception
	{
		String str= getHTML("西游记 作者");
		System.out.println(str);
		parseHTML(str);
	}

	public String getHTML(String str) throws Exception
	{
		StringBuilder sb=new StringBuilder();
		String path="http://209.85.225.23/search?hl=zh&ie=gb2312&q="+URLEncoder.encode(str,"gb2312");
		//String path="http://209.85.225.23/search?hl=zh&ie=UTF-8&q="+str;
		URL url=new URL(path);
		HttpURLConnection con = (HttpURLConnection) url.openConnection();
		con.setRequestProperty("User-Agent", "Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14");
		BufferedReader breader = new BufferedReader(new InputStreamReader(con.getInputStream())); 

		//BufferedReader breader=new BufferedReader(new InputStreamReader(url.openStream()));
		String line=null;
		File file_out =new File("./test/google");
		FileWriter fw =  new FileWriter(file_out);
		while((line=breader.readLine())!=null)
		{
			sb.append(line);
			fw.write(line);
		}
		fw.close();
		return sb.toString();
	}

	public void parseHTML(String str)
	{

	}
}
时间: 2024-11-08 04:45:38

抓取 google 搜索结果的相关文章

UiBot无法抓取Google Chrome元素和数据抓取工具无法使用的解决方案

UiBot RPA抓取Google Chrome元素建议使用Google Chrome原版浏览器,不建议使用 二次修改的浏览器版本,以确保兼容性最佳.操作流程符合本教程. 如果无法抓取 Google Chrome 浏览器元素,或数据抓取工具无法使用,可以先检查浏览器扩展程序中是否已经安装并启用 UiBot 扩展程序(下载),如果扩展程序已经安装并启用,则浏览器右上角会出现 UiBot 扩展程序的图标,如下图: 如果您的浏览器右上角没有出现这个图标,则可能 UiBot 扩展程序没有安装成功或已启用

数据抓取的艺术(三):抓取Google数据之心得

本来是想把这部分内容放到前一篇<数据抓取的艺术(二):数据抓取程序优化>之中.但是随着任务的完成,我越来越感觉到其中深深的趣味,现总结如下: (1)时间     时间是一个与抓取规模相形而生的因素,数据规模越大,时间消耗往往越长.所以程序优化变得相当重要,要知道抓取时间越长,出错的可能性就越大,这还不说程序需要人工干预的情境.一旦运行中需要人工干预,时间越长,干预次数越多,出错的几率就更大了.在数据太多,工期太短的情况下,使用多线程抓取,也是一个好办法,但这会增加程序复杂度,对最终数据准确性产

http协议请求实战——get请求示例之抓取百度搜索关键词对应网页信息

1通过分析搜索关键词对应的网址发现字段名和内容均在网址中网址可简化为www.baidu.com/s?wd=搜索的关键词 根据分析出的规律可通过构造get请求用爬虫实现在百度上自动查询某个关键词 代码如下: import urllib.request 导入urllib.requestkeywd = '高同同' 指定关键词keywd_cod = urllib.request.quote(keywd)将关键词进行编码url = 'https://www.baidu.com/s?wd='输入网址url_

使用python抓取百度搜索、百度新闻搜索的关键词个数

由于实验的要求,需要统计一系列的字符串通过百度搜索得到的关键词个数,于是使用python写了一个相关的脚本. 在写这个脚本的过程中遇到了很多的问题,下面会一一道来. ps:我并没有系统地学习过python,只是很久之前用过它,感觉用起来还比较方便,于是这回又把它拾起来使用了.当然这也是考虑到手上有python机器学习的实战书籍,所以估计一段时间后还会再用的缘故. 思路:首先使用python的库函数把网页的内容爬下来,然后使用正则表达式去匹配想要的字符串,最后进行字符串处理就能得到想要的东西了.

跨域抓取360搜索结果

先来看效果,在搜索框中输入想要搜索的内容,信息就会显示在下方. 如何把360搜索到的信息放入自己的网页,涉及到了跨域请求. 代码分析: 1.创建script元素.document.createElelment("script"); 2.设置script的src,这个src即为360搜索的接口.script.src="https://sug.so.360.cn/suggest?callback=infoget&encodein=utf8&encodeout=ut

新站帮助 Google 查找、抓取网站和创建索引的最佳做法

遵循这些指南有助于 Google 查找您的网站.将其编入索引和进行排名.即使您选择不采纳这些建议,我们也强烈建议您对"质量指南"多加留意,其中简要说明了可能导致网站从 Google 索引中被彻底删除或者被系统或手动标识为垃圾网站的一些违规行为.如果一个网站被标识为垃圾网站,那么它可能不会再出现在 Google.com 或任何 Google 合作伙伴网站的搜索结果中. 设计和内容指南 技术指南 质量指南 在您的网站创建完成后: 访问 http://www.google.com/submi

数据抓取的艺术(一):Selenium+Phantomjs数据抓取环境配置

数据抓取的艺术(一):Selenium+Phantomjs数据抓取环境配置 2013-05-15 15:08:14 分类: Python/Ruby 数据抓取是一门艺术,和其他软件不同,世界上不存在完美的.一致的.通用的抓取工具.为了不同的目的,需要定制不同的代码.不过,我们不必Start from Scratch,已经有许多的基本工具.基本方法和基础框架可供使用.不同的工具.不同的方法.不同的框架的特点也不同.了解这些工具.方法和框架是首要任务,接下来就需要明白它们的差异都在哪里.什么情境该用什

【转载】用sas抓取网页数据简易版

链接:http://www.1point3acres.com/bbs/thread-91000-1-1.html 如果是一些比较简单的规则的网页抓取,可以用SAS,纯属娱乐,SAS入门的话推荐SAS BASE和ADVANCE认证的教材,这两个认证其实没啥用,但教材的内容对于一个专业的SAS Programmer足够了,sas data step, sql, macro,会这些日常处理应该都没问题了.%macro webScholar;/*memlib选项是将data放在内存里,而不是放在D盘,可

python爬取百度搜索结果ur汇总

写了两篇之后,我觉得关于爬虫,重点还是分析过程 分析些什么呢: 1)首先明确自己要爬取的目标 比如这次我们需要爬取的是使用百度搜索之后所有出来的url结果 2)分析手动进行的获取目标的过程,以便以程序实现 比如百度,我们先进行输入关键词搜索,然后百度反馈给我们搜索结果页,我们再一个个进行点击查询 3)思考程序如何实现,并克服实现中的具体困难 那么我们就先按上面的步骤来,我们首先认识到所搜引擎,提供一个搜索框,让用户进行输入,然后点击执行 我们可以先模拟进行搜索,发现点击搜索之后的完整url中有一