博主信息
Laical
博文
21
粉丝
0
评论
0
访问量
10121
积分:0
P豆:52

网络爬虫如何添加爬虫代理

2020年09月14日 17:16:34阅读数:110博客 / Laical/ 网络爬虫教程

现在的互联网时代,大数据的进步,网络爬虫也越来越多的网络爬虫用户。网络爬虫用户在做业务是,访问目标网站时会触发目标网站的反爬机制。由于网络爬虫用户的请求量大和采集速度快,就会导致出现这种情况,如何解决这种情况,就需要用到常见的爬虫代理IP了。那网络爬虫如何寻找这些有效的爬虫代理IP呢?
1、浏览器上搜索免费代理IP
2、通过自己的爬虫程序去爬取IP
3、通过浏览器或者代码验证IP的有效性
4、保存文本格式
网上爬虫取到的免费代理加到自己的IP池去使用,有些代理虽然能用。但是对于公司业务或者是对代理IP的质量要求高的爬虫用户,不建议使用网上的免费代理,在使用免费代理的过程中很有可能会出现IP失效,网络不稳定,安全性和稳定性等问题,质量明显不行。至于如何选择取决于自己的需求,个人建议使用自动转发的爬虫代理更加稳定,效果好。
在网络爬虫项目中使用自动转发的爬虫代理,能够有效地减少爬虫被目标网站限制。
添加爬虫代理IP池demo:

  1. const http = require("http");
  2. const url = require("url");
  3. // 要访问的目标页面
  4. const targetUrl = "http://httpbin.org/ip";
  5. const urlParsed = url.parse(targetUrl);
  6. // 代理服务器(产品官网 www.16yun.cn)
  7. const proxyHost = "t.16yun.cn";
  8. const proxyPort = "36600";
  9. // 生成一个随机 proxy tunnel
  10. var seed = 1;
  11. function random() {
  12. var x = Math.sin(seed++) * 10000;
  13. return x - Math.floor(x);
  14. }
  15. const tunnel = random()*100;
  16. // 代理验证信息
  17. const proxyUser = "username";
  18. const proxyPass = "password";
  19. const base64 = new Buffer.from(proxyUser + ":" + proxyPass).toString("base64");
  20. const options = {
  21. host: proxyHost,
  22. port: proxyPort,
  23. path: targetUrl,
  24. method: "GET",
  25. headers: {
  26. "Host": urlParsed.hostname,
  27. "Proxy-Tunnel": tunnel,
  28. "Proxy-Authorization" : "Basic " + base64
  29. }
  30. };
  31. http.request(options, function (res) {
  32. console.log("got response: " + res.statusCode);
  33. res.pipe(process.stdout);
  34. }).on("error", function (err) {
  35. console.log(err);
  36. }).end();

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • python能进行:1、Web开发;2、数据科学;3、数据处;4、人工智能等;5、;6、linux系统运维;7、游戏开发;8、桌面应用开发。
    python设置ip的方法:首先写入获取到的ip地址到proxy;然后用百度检测ip是否成功,并请求页传的参数;最后发送get请求,并获取返回页面保存到本地。