- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图使用 600 个不同的搜索从 google 抓取链接,在此过程中我开始收到以下错误。
错误
org.jsoup.HttpStatusException: HTTP error fetching URL. Status=503, URL=http://ipv4.google.com/sorry/IndexRedirect?continue=http://google.com/search/...
现在我已经完成了研究,发生这种情况是因为谷歌学者禁令限制了您的搜索范围,并且需要解决 captch 才能继续,而 jsoup 无法做到这一点。
代码
Document doc = Jsoup.connect("http://google.com/search?q=" + keyWord)
.userAgent("Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)")
.timeout(5000)
.get();
互联网上的答案非常模糊,没有提供明确的解决方案,有人提到cookie可以解决这个问题,但没有说“如何”做到这一点。
最佳答案
一些改进抓取的提示:
代理允许您减少被验证码捕获的机会。您应该使用 50 到 150 个代理,具体取决于您的平均结果集。这里有两个可以提供一些代理的网站:SEO-proxies.com或Proxify Switch Proxy .
// Setup proxy
String proxyAdress = "1.2.3.4";
int proxyPort = 1234;
Proxy proxy = new Proxy(Proxy.Type.HTTP, InetSocketAddress.createUnresolved(proxyAdress, proxyPort))
// Fetch url with proxy
Document doc = Jsoup //
.proxy(proxy) //
.userAgent("Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2") //
.header("Content-Language", "en-US") //
.connect(searchUrl) //
.get();
如果您被验证码捕获,您可以使用一些在线验证码解决服务( Bypass Captcha 、 DeathByCaptcha 等)。以下是自动解决验证码的通用分步过程:
--
try {
// Perform search here...
} catch(HttpStatusException e) {
switch(e.getStatusCode()) {
case java.net.HttpURLConnection.HTTP_UNAVAILABLE:
if (e.getUrl().contains("http://ipv4.google.com/sorry/IndexRedirect?continue=http://google.com/search/...")) {
// Ask online captcha service for help...
} else {
// ...
}
break;
default:
// ...
}
}
--
Jsoup //
//.cookie(..., ...) // Some cookies may be needed...
.connect(imageCaptchaUrl) //
.ignoreContentType(true) // Needed for fetching image
.execute() //
.bodyAsBytes(); // byte[] array returned...
--
这部分依赖于验证码服务API。您可以在这个8 best captcha solving services找到一些服务文章。
填写表单并回复并使用 Jsoup 发送
Jsoup FormElement是这里的救星。看这个working sample code了解详情。
Hints for Google scrapers文章可以为您提供更多改进代码的指导。您会发现此处提供的前两个提示以及更多提示:
&num=100
附加到您的网址以减少发送的请求关于java - 如何使用 Jsoup 抓取 Google SERP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38713069/
看看this search在那里你可以看到只有我的主页被编入索引。 但为什么 Google/搜索引擎不接受 arda-maps.org/about/ 和其他子页面?我的深层链接是否以错误的方式完成?搜
除了弄乱语法之外,还有什么方法可以删除它吗? HTML代码: Items 1 to 9 of 144 total 最佳答案 Google does this automatically .如果
最近我在 Google SERP 上丢失了我的星级评论。我知道原因可能各不相同,但我要确保我没有在代码上犯错误: 5 on 5 based on 857 r
在 Google 上搜索时,一些组织详细信息会显示在搜索结果页面的右侧,这些详细信息与我的关键字相关。 有人知道如何在那边显示我们的数据吗? 看这个例子: 最佳答案 我找到了这个很棒的资源,其中包含有
这个问题在这里已经有了答案: How to get Google Sitelinks on a website? [closed] (3 个答案) 关闭 2 年前。 我注意到在 Google 上搜索
我在谷歌中索引了超过 144,000 张图像,但是当前的水印很大而且很突兀,为了提供更好的用户体验,我希望将其更改为更小的水印。但由于所有这些图片都已在谷歌中编入索引,我想知道它会对谷歌和雅虎图片搜索
我一直在尝试为 SEO 编写自己的关键字位置排名扫描器。我找到了一个 PHP 类,它看起来很有用,但我不知道如何让它工作。 我对在 PHP 中使用类/函数还很陌生。 这是我找到的代码: http://
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
这是测试的java类代码 public class Selenium_Test { @Test public void startWebDriver() { Syste
我试图使用 600 个不同的搜索从 google 抓取链接,在此过程中我开始收到以下错误。 错误 org.jsoup.HttpStatusException: HTTP error fetching
与 URL View 相比,结构化数据测试工具是否曾在 HTML View 中显示不同的 RDF 面包屑片段? 对我的页面使用 URL View 时,例如 www.springboardseo.com
我的意思是,我可以在 Google Serp 页面上指定首选 SERP 位置搜索选项,这是肯定的。我想有办法用curl 来实现它。 这里有一些历史。我用过SEOStats到我的项目上。很好。我很有趣a
每当我尝试从 Google 搜索结果中删除搜索时,我总是遇到问题。我正在使用 Jsoup 提取 HTML 代码,但我无法从我需要的网页中提取信息。我的目标是达到标题下信息的描述。这是我的代码: imp
用 Delphi 解析谷歌搜索结果的最佳方法是什么(API 不起作用,只允许 10 个结果)? (我更喜欢免费选项。) 最佳答案 您是否考虑过正则表达式(regex?)显然您需要一个 3rd part
当我遇到这个时我正在谷歌搜索..下面的图片&之前或之后都没有看到它... 这是 google 在 firefox 中的结果截图 一个结果本身是可滚动的... 看到滚动条..我怎样才能实现这个滚动条..
我已经在我的 website 上完成了 Google 丰富网页摘要工作因为它在 Google Structured 工具中显示一切正常,但在 Google 结果中它没有显示任何内容。请向我提供有关 G
我管理的网站发现来自 google 的访问量突然下降。 在一周前,它曾经每天有大约 300-500 次访问。他们有 10% 来自一个强大的、有竞争力的查询; 80% 是长尾查询。现在我都失去了,访问量
我一直在阅读 SEO 以及如何构建我的链接以获得更好的 SERP。 我使用 WordPress 作为我网站的框架,并使用自定义模板从我的数据库中检索数据。 使 URL 动态的是 ? 和 & 的使用。仅
尝试将下面的链接放入图片中突出显示的搜索中 我不知道如何添加这些链接。我们是否需要对网站的 HTML 源代码进行任何更改或需要在 google webmasters 中进行一些更改? 最佳答案 您需要
我在我的 Wordpress 网站上使用 YOAST 插件进行搜索引擎优化。我有一个使用 WPML 插件的多语言网站(一种语言/子域)。 我的网站和主页中的 SEO 设置已正确设置,当我在 Googl
我是一名优秀的程序员,十分优秀!