您当前的位置: 首页 > 

lootaa

暂无认证

  • 2浏览

    0关注

    68博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

亚马逊国际站处理图形验证码

lootaa 发布时间:2021-10-14 00:38:31 ,浏览量:2

目录

亚马逊中国站获取全部商品分类 亚马逊中国站获取商品列表 亚马逊中国站通过ASIN获取商品信息 亚马逊中国站获取商品库存信息 亚马逊国际站获取全部商品分类 亚马逊国际站获取商品列表 亚马逊国际站处理图形验证码 亚马逊国际站通过ASIN获取商品信息 亚马逊国际站获取商品库存信息

所提供代码已经为可运行代码,但亚马逊响应数据随时会变,造成解析异常。如果使用期间遇到问题,欢迎随时沟通。可扫描下方二维码公众号留言。 在这里插入图片描述

出现验证码情形

一般来说,如果相同ip请求过于频繁,就会出现图形验证码,如果使用不同的user-agent来请求,也可以降低出现验证码的频率,但是不能完全避免。 处理方式测试通过的有两种方式。 方式一:使用网络代理,比如10分钟内有效的代理,每十分钟更换一次,基本上能处理掉验证码的问题。如果还有就5分钟更换一次。该方式较为简单不再提供代码。 方式二:识别出图形验证码并携带cookie重新请求。需要注意的是,识别后进入的页面不一定是出现验证码之前既定进入的,所以最好是携带cookie重新请求一次。

图形验证码

市面上有多种图形验证码识别软件,之前使用过一款exe直接启动就能识别的,识别亚马逊的验证码一点问题也没有。不过鉴于对系统限制必须用windows,所以暂时不考虑了。 本篇使用的是图鉴(http://ttshitu.com/),识别效果不做保证,主要是便宜。

测试说明

测试请求商品列表信息的前面100页,一般来说,一个从来没有请求过的ip连续调用五六十次也会出现验证码。

Java代码

已经替换了验证码识别网站的账号密码,使用前需自行替换。

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

import javax.imageio.stream.FileImageOutputStream;

import org.apache.http.HttpResponse;
import org.apache.http.client.CookieStore;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import com.alibaba.fastjson.JSONObject;

public class AmazonTest7 {

	public static void main(String[] args) throws Exception {
		CookieStore store = new BasicCookieStore();
		CloseableHttpClient httpclient = HttpClients.custom().setDefaultCookieStore(store).build();
		String url = "https://www.amazon.com/-/zh/s?bbn=16225009011&rh=i%3Aspecialty-aps%2Cn%3A%2116225009011%2Cn%3A281407&ref_=nav_em__nav_desktop_sa_intl_accessories_and_supplies_0_2_5_2";
		for (int i = 1; i             
关注
打赏
1663829960
查看更多评论
0.0407s