如何在Puppeteer中设置User-Agent来绕过京东的反爬虫机制?

这篇具有很好参考价值的文章主要介绍了如何在Puppeteer中设置User-Agent来绕过京东的反爬虫机制?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

京东作为中国最大的电商平台,为了保护其网站数据的安全性,采取了一系列的反爬虫机制。然而,作为开发者,我们可能需要使用爬虫工具来获取京东的数据。

正文

Puppeteer 是一个由 Google 开发的 Node.js 库,它提供了高级的 API,用于控制无头浏览器(Headless Browser),如 Chrome 或 Chromium。Puppeteer 的实时端点位于它可以模拟用户在浏览器中的操作,包括点击、填写表单、截图等。这使得我们可以使用Puppeteer来模拟真实用户的行为,获取想要的数据。

在使用Puppeteer爬取京东数据时,可能会遇到一些问题。例如,京东可能会检测到我们使用了自动化工具,并阻止我们的访问。为了解决这个问题,我们可以使用代理服务器来隐藏我们的真实IP地址,并设置合适的User-Agent来模拟真实用户的访问。

User-Agent是HTTP请求头的一部分,用于一些发起标志请求的用户代理(通常是一个浏览器)的类型和版本信息。以下是常见的 User-Agent 类型:

  1. Mozilla Firefox:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0
  2. Google Chrome:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,如 Gecko) Chrome/94.0.4606.81 Safari/537.36
  3. Safari:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML,如 Gecko) Version/14.1.2 Safari/605.1.15
  4. Microsoft Edge:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,如 Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.50
  5. Opera:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,如 Gecko) Chrome/94.0.4606.81 Safari/537.36 OPR/80.0.4170.72

模拟用户的操作,例如点击、填写表单、截图等。我们可以根据自己的需求编写相应的代码来爬取京东的商品信息、价格、评价等数据。 以下是完整的示例代码,用于爬取京东首页的商品列表:

const puppeteer = require('puppeteer');

const proxyHost = "www.16yun.cn";
const proxyPort = "5445";
const proxyUser = "16QMSOML";
const proxyPass = "280651";

const proxySettings = {
  proxy: `http://${proxyUser}:${proxyPass}@${proxyHost}:${proxyPort}`,
  headers: {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
  }
};

async function main() {
  const browser = await puppeteer.launch({
    headless: false,
    args: [
      `--proxy-server=${proxySettings.proxy}`,
      '--no-sandbox',
      '--disable-setuid-sandbox'
    ]
  });

  const page = await browser.newPage();
  await page.setUserAgent(proxySettings.headers['User-Agent']);
  await page.goto('https://www.jd.com');

  // 在这里编写爬取京东数据的代码

  await browser.close();
}

main();

当使用 User-Agent 时,有几个注意事项需要考虑:文章来源地址https://www.toymoban.com/news/detail-711048.html

  1. 隐私保护:User-Agent 可能包含有关用户的敏感信息,如操作系统、浏览器版本等。在处理用户数据时,应遵循隐私保护原则,确保用户信息的安全和保密。
  2. 兼容性:不同的浏览器和设备使用不同的 User-Agent 字符串,因此在开发网站或应用程序时,需要考虑到不同 User-Agent 的兼容性,以确保正确显示和功能。
  3. 版本控制:User-Agent 中的版本信息对于确定浏览器或设备的功能和支持的特性非常重要。在开发过程中,可以根据不同的 User-Agent 版本来选择适当的代码路径或功能。
  4. User-Agent 伪造:由于 User-Agent 字符串可以被修改,因此不能完全依赖它来验证用户身份或进行安全控制。攻击者可以伪造 User-Agent 字符串来欺骗服务器或应用程序,因此需要采取其他安全措施来验证用户身份。

到了这里,关于如何在Puppeteer中设置User-Agent来绕过京东的反爬虫机制?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 爬虫入门04——requests库中的User-Agent请求头

    “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60”, “Opera/8.0 (Windows NT 5.1; U; en)”, “Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50”, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50”, “Opera/9.80 (Macin

    2024年02月13日
    浏览(42)
  • Python 使用fake_useragent生成随机User-Agent

    大多数情况下,需要设置请求头。而在请求头中,随机更换User-Agent可以避免触发相应的反爬机制。使用第三方库fake-useragent便可轻松生成随机User-Agent。 以下简单介绍fake-useragent的安装使用,以及可能出现的问题和解决方法。 安装: 使用: 生成随机的一个User-Agent 生成指定的

    2024年01月17日
    浏览(41)
  • {工作记录}遇到过的网络攻击合集&&爬虫User-Agent记录..{持续更新}

    奇怪的攻击增加了!Exp!up!up! (最新更新时间:2022年10月31日 更新内容:爬虫UA头) “看不懂是啥攻击,所以记一下。”——harusaruhi 2022年5月1日 2022年5月1日 2022年5月2日 2022年5月3日 2022年5月4日 2022年5月8日 2022年5月21日 2022年5月27日 2022年10月5日 2024年1月22日 User-Agent:Xenu Link

    2023年04月14日
    浏览(48)
  • chrome extensions插件declarativeNetRequest修改user-agent方法manifest v3版

    有能力的可以看官方文档:https://developer.chrome.com/docs/extensions/reference/declarativeNetRequest/#manifest 有一个需求,想通过插件的方式,修改请求头里面的user-agent,比如修改为iphone的头: 原本浏览器的请求头是: 通过查询发现,v2版本修改请求头的方式为:但是这种方式已经被废弃

    2024年02月01日
    浏览(101)
  • 浏览器UA user-agent、windows各版本内核、搜索引擎爬虫UA归类

    ### 浏览器userAgent: 实际上很多浏览器套了壳,核心都是chrome和safari,大部分浏览器UA里面看倒数第二个或第一个字段就可以判断出是啥浏览器了,同一浏览器的UA版本上可能存在差异,但大致相同。 **servo 不支持es6** ```Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:37.0) Servo/1.0 Firefox

    2024年02月02日
    浏览(71)
  • 在Openresty中使用lua语言向请求浏览器返回请求头User-Agent里边的值

    可以参考《Linux学习之Ubuntu 20.04在https://openresty.org下载源码安装Openresty 1.19.3.1,使用systemd管理OpenResty服务》安装Openresty。 然后把下边的内容写入到openresty配置文件 /usr/local/openresty/nginx/conf/nginx.conf (根据实际情况进行选择文件): 然后 sudo openresty 启动openresty。 最后在浏览器里

    2024年02月07日
    浏览(63)
  • 3. 爬取自己CSDN博客列表(自动方式)(分页查询)(网站反爬虫策略,需要在代码中添加合适的请求头User-Agent,否则response返回空)

    1. 如何爬取自己的CSDN博客文章列表(获取列表)(博客列表)(手动+python代码方式) 2. 获取自己CSDN文章列表并按质量分由小到大排序(文章质量分、博客质量分、博文质量分)(阿里云API认证) https://dontla.blog.csdn.net/?type=blog https://blog.csdn.net/community/home-api/v1/get-business-lis

    2024年02月12日
    浏览(40)
  • 使用开发者模式找到User—Agent

    User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。 那么User-Agent到底是什么呢? User-Agent会告诉网站服务器,访问者是通过什

    2023年04月10日
    浏览(44)
  • 2023再更新下百度蜘蛛最新UA(User Agent)

    其实百度蜘蛛的UA一直没什么变化,有不少朋友以为百度蜘蛛修改特征了,我查了下日志,把最新的UA整理出来给大家。 百度UA信息: Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html) 神码ai在了解各大搜索引擎蜘蛛爬虫的UA,对自己进行某些程序编写十分有用,

    2024年02月12日
    浏览(45)
  • 小程序 user agent stylesheet 覆盖了page下wxss背景色

     如下图: login页面的page下的背景色,被:user agent stylesheet覆盖。    分析与解决: 1、user agent stylesheet是浏览器默认样式表,是浏览器默认样式。 2、不同浏览器的默认样式不同个,甚至同种浏览器不同版本的默认样式也可能不同。其中google中对body的默认样式为margin:8px;

    2024年02月15日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包