去哪儿网网页版机票数据添加代理

代理ip选择

本篇使用的代理选择了青果网络的,原因是他们家有2个小时的免费测试账号。本篇使用的是隧道代理,没有添加白名单,而是使用的账号密码方式。

代理准备

需要新建两个文件。

background.js

内容如下(username和password需要替换为自己代理ip的账号密码)

function callbackFn(details) {
    return {
        authCredentials: {
            username: "7D36CA86",
            password: "5199C38DCD34"
        }
    };
}

chrome.webRequest.onAuthRequired.addListener(
        callbackFn,
        {urls: ["<all_urls>"]},
        ['blocking']
);

manifest.json

内容如下

{
  "manifest_version": 2,
  "name": "Authentication for ...",
  "version": "1.0.0",
  "permissions": ["<all_urls>", "webRequest", "webRequestBlocking"],
  "background": {
    "scripts": ["background.js"]
  }
}

proxy.zip

将上面两个文件放到一起,然后压缩为proxy.zip。不是创建个文件夹然后压缩,而是压缩文件的根目录就只有上面两个文件,没有文件夹。
将proxy.zip文件放到任意目录,后续代码中使用。

Java设置代理方式

proxyadd为代理ip的账号和密码,本篇使用的隧道代理,故而是固定的。
addExtensions中添加的就是上面已经压缩好的proxy.zip

		String proxyadd = "tunnel.qg.net:19796";
		Proxy proxy = new Proxy();
		proxy.setHttpProxy(proxyadd);
		proxy.setSslProxy(proxyadd);
		option.setCapability("proxy", proxy);
        option.addExtensions(new File("/Users/admin/Documents/workspace/kjm_yeegu_ctrip/proxy.zip"));

完整测试代码

	public static void main(String[] args) {
		System.setProperty("webdriver.chrome.driver", "/Users/admin/Documents/workspace/chromedriver");

		ChromeOptions option = new ChromeOptions();
		option.addArguments("disable-infobars");
		List<Object> list = new ArrayList<>();
		list.add("enable-automation");
		option.setExperimentalOption("excludeSwitches", list);
		option.addArguments("--disable-blink-features", "--disable-blink-features=AutomationControlled");
		
		String proxyadd = "tunnel.qg.net:19796";
		Proxy proxy = new Proxy();
		proxy.setHttpProxy(proxyadd);
		proxy.setSslProxy(proxyadd);
		option.setCapability("proxy", proxy);
        option.addExtensions(new File("/Users/admin/Documents/workspace/kjm_yeegu_ctrip/proxy.zip"));
        
//        String url = "https://www.ip138.com/";
		String url = "https://m.flight.qunar.com/ncs/page/flightlist?depCity=%E4%B8%8A%E6%B5%B7&arrCity=%E5%8C%97%E4%BA%AC&goDate=2022-01-01&from=touch_index_search&child=0&baby=0&cabinType=0";
		WebDriver webDriver = new ChromeDriver(option);
		webDriver.get(url);
		List<WebElement> resultElements = webDriver.findElements(By.className("list-content")).get(0).findElements(By.tagName("li"));
		for (int i = 0; i < resultElements.size(); i++) {
			System.out.println((i+1) + "\n" + resultElements.get(i).getText());
			System.out.println();
		}
	    webDriver.quit();

	}

输入结果

仅供参考,随时有可能变化。

Starting ChromeDriver 96.0.4664.45 (76e4c1bb2ab4671b8beba3444e61c0f17584b2fc-refs/branch-heads/4664@{#947}) on port 6997
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
十二月 05, 2021 4:41:08 下午 org.openqa.selenium.remote.ProtocolHandshake createSession
信息: Detected dialect: W3C
1
06:40
浦东T2
2时30分
09:10
首都T2
海航HU7614 波音738(中)
355
惠选经济舱2折

2
20:55
虹桥T2
2时20分
23:15
首都T2
海航HU7602 空客330(大)
430
惠选经济舱2.5折

3
09:00
浦东T2
2时25分
11:25
大兴
国航CA8679 空客321(中)
439
经济舱2.5折

4
16:45
浦东T2
2时30分
19:15
大兴
国航CA8685 空客321(中)
439
经济舱2.5折

5
20:30
浦东T2
2时30分
23:00
大兴
厦航MF8556 波音787(大)
443
经济舱3折

6
09:05
浦东T1
2时20分
11:25
大兴
东航MU5129 空客320(中)
448
经济舱2.6折

7
14:10
浦东T1
2时35分
16:45
大兴
东航MU5195 空客320(中)
448
经济舱2.6折

8
15:40
浦东T1
2时20分
18:00
大兴
东航MU5137 空客320(中)
448
经济舱2.6折

9
20:25
虹桥T2
2时35分
23:00
大兴
上航FM9101 波音738(中)
448
经济舱3.1折

10
21:10
浦东T1
2时35分
23:45
大兴
东航MU5186 空客320(中)
448
经济舱2.6折

11
10:45
虹桥T2
2时10分
12:55
首都T2
海航HU7606 波音787(大)
450
惠选经济舱2.6折

12
11:35
虹桥T2
2时10分
13:45
首都T2
海航HU7608 空客330(大)
450
惠选经济舱2.6折

13
19:25
虹桥T2
2时30分
21:55
首都T2
海航HU7610 空客330(大)
450
惠选经济舱2.6折

14
19:45
虹桥T2
2时15分
22:00
大兴
南航CZ8886 空客350(大)
470
经济舱3.2折

15
07:45
虹桥T2
2时35分
10:20
首都T3
国航CA1858 波音787(大)
488
经济舱2.8折

16
08:55
虹桥T2
2时35分
11:30
首都T3
国航CA1590 空客350(大)
488
经济舱2.8折

17
11:30
虹桥T2
2时35分
14:05
首都T3
国航CA1832 空客350(大)
488
经济舱2.8折

18
12:30
虹桥T2
2时35分
15:05
首都T3
国航CA1502 波音777(大)
488
经济舱2.8折

19
13:25
虹桥T2
2时35分
16:00
首都T3
国航CA1520 空客330(大)
488
经济舱2.8折

20
13:45
虹桥T2
2时35分
16:20
首都T3
国航CA1548 波音737(中)
488
经济舱2.8折

21
14:15
虹桥T2
2时35分
16:50
首都T3
国航CA1532 波音787(大)
488
经济舱2.8折

22
14:45
虹桥T2
2时35分
17:20
首都T3
国航CA1862 空客330(大)
488
经济舱2.8折

23
16:30
虹桥T2
2时35分
19:05
首都T3
国航CA1558 波音747(大)
488
经济舱2.8折

24
17:30
虹桥T2
2时25分
19:55
首都T3
国航CA1518 空客330(大)
488
经济舱2.8折

25
18:25
虹桥T2
2时35分
21:00
首都T3
国航CA1522 波音777(大)
488
经济舱2.8折


上一篇:CMD 设置代理


下一篇:Java 项目正向代理配置